Magellan Linux

Annotation of /smage/branches/alx07x-unstable/extras/pulseaudio/pulseaudio-13.0-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 15356 - (hide annotations) (download)
Thu Aug 27 12:02:39 2020 UTC (3 years, 8 months ago) by niro
Original Path: smage/trunk/extras/pulseaudio/pulseaudio-13.0-r1.smage2
File size: 7213 byte(s)
-use meson and drop esound and deprecated libsamplerate
1 niro 15347 # $Id$
2    
3     PNAME="pulseaudio"
4     PVER="13.0"
5     PBUILD="r1"
6    
7     SPLIT_PACKAGES="libpulse
8     libpulse-dev
9     pulseaudio
10     pulseaudio-dev
11     pulseaudio-alsa
12     pulseaudio-utils
13     pulseaudio-x11"
14    
15     PCAT="media-sound"
16    
17     HOMEPAGE="http://www.pulseaudio.org/"
18    
19     LIBPULSE_DEPEND=">= virtual/glibc
20     >= dev-libs/glib2-2.64
21     >= dev-libs/json-c-0.15
22     >= x11-libs/libSM-1
23     >= x11-libs/libICE-1
24     >= x11-libs/libXtst-1.2
25     >= x11-libs/libX11-1.6
26     >= x11-libs/libxcb-1.11
27     >= sys-libs/libcap-2.43
28     >= sys-libs/dbus-libs-1.12
29     >= sys-libs/libsystemd-242
30     >= media-libs/libsndfile-1.0.28"
31    
32     COMMON_DEPEND=">= dev-db/tdb-1.4
33     >= sys-fs/libudev-242
34     >= sci-libs/fftw3-3.3
35     >= dev-libs/liborc-0.4.31
36     >= sys-libs/libltdl-2.4"
37     # todo rtkit deamon for realtime support ?
38    
39     ALSA_DEPEND=">= media-libs/alsa-lib-1.1"
40    
41     ALX_DEV_DEPEND=">= dev-libs/glib2-dev-2.64
42     >= dev-libs/json-c-dev-0.15
43     >= x11-libs/libSM-dev-1
44     >= x11-libs/libICE-dev-1
45     >= x11-libs/libXtst-dev-1.2
46     >= x11-libs/libX11-dev-1.6
47     >= x11-libs/libxcb-dev-1.11
48     >= sys-libs/libcap-dev-2.43
49     >= sys-apps/dbus-dev-1.12
50     >= sys-apps/systemd-dev-242
51     >= media-libs/libsndfile-dev-1.0.28
52     >= dev-db/tdb-dev-1.4
53     >= sys-fs/udev-dev-242
54     >= sci-libs/fftw3-dev-3.3
55     >= media-libs/alsa-lib-dev-1.1"
56    
57     SDEPEND="${LIBPULSE_DEPEND}
58     ${COMMON_DEPEND}
59     ${ALSA_DEPEND}
60     >= dev-lang/orc-0.4.31
61     >= dev-util/pkgconfig-0.25
62     >= dev-util/intltool-0.50
63     >= sys-dev/libtool-2.4
64     ${ALX_DEV_DEPEND}"
65    
66     SRCFILE="${PNAME}-${PVER}.tar.xz"
67     SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
68    
69 niro 15356 sminclude mtools multilib meson cleanutils udev
70 niro 15347 msetfeature "!check"
71    
72     SRC_URI=(
73     http://freedesktop.org/software/${PNAME}/releases/${SRCFILE}
74     mirror://${PNAME}/${SRCFILE}
75     )
76    
77     UP2DATE="updatecmd http://freedesktop.org/software/pulseaudio/releases/ | highesttarball xz"
78    
79     split_info_libpulse()
80     {
81     DESCRIPTION="Libraries for PulseAudio clients."
82     DEPEND="${LIBPULSE_DEPEND}"
83     }
84    
85     split_info_libpulse-dev()
86     {
87     DESCRIPTION="Development files for libpulse."
88     DEPEND="== media-sound/libpulse-${PVER}"
89     }
90    
91     split_info_pulseaudio()
92     {
93     DESCRIPTION="A networked sound server with an advanced plugin system."
94     DEPEND="== media-sound/libpulse-${PVER}
95     ${COMMON_DEPEND}"
96     }
97    
98     split_info_pulseaudio-dev()
99     {
100     DESCRIPTION="Development files for pulseaudio."
101     DEPEND="== media-sound/pulseaudio-${PVER}"
102     }
103    
104     split_info_pulseaudio-alsa()
105     {
106     DESCRIPTION="ALSA support for the PulseAudio sound server."
107     DEPEND="== media-sound/libpulse-${PVER}
108     == media-sound/pulseaudio-${PVER}
109     ${ALSA_DEPEND}"
110     }
111    
112     split_info_pulseaudio-x11()
113     {
114     DESCRIPTION="X11 support for the PulseAudio sound server."
115     DEPEND="== media-sound/libpulse-${PVER}
116     == media-sound/pulseaudio-${PVER}
117     == media-sound/pulseaudio-utils-${PVER}"
118     }
119    
120     split_info_pulseaudio-utils()
121     {
122     DESCRIPTION="PulseAudio sound server utilities."
123     DEPEND="== media-sound/libpulse-${PVER}
124     == media-sound/pulseaudio-${PVER}"
125     }
126    
127     pkg_setup()
128     {
129     preinstall_pulseaudio
130     }
131    
132     src_prepare()
133     {
134     munpack ${SRCFILE} || die
135    
136     # fix /var/run -> /run
137 niro 15356 all-abis "sed -i \"s:\(.*PA_SYSTEM_RUNTIME_PATH.*\)localstatedir,\(.*\):\1\'/\',\2:\" meson.build || die"
138 niro 15347 }
139    
140     src_compile()
141     {
142 niro 15356 meson_setup_builddir || die
143    
144     meson_configure \
145 niro 15347 --localstatedir=/var \
146 niro 15356 $(meson_opt udevrulesdir $(mget-udev-rules-dir)) \
147     $(meson_opt pulsedsp-location '/usr/\$LIB/pulseaudio' ) \
148     $(meson_opt database tdb) \
149     $(meson_enable udev) \
150     $(meson_enable dbus) \
151     $(meson_enable alsa) \
152     $(meson_disable samplerate) \
153     $(meson_bool_false hal-compat) \
154     $(meson_bool_false ipv6) \
155     $(meson_disable avahi) \
156     $(meson_enable x11) \
157     $(meson_disable openssl) \
158     $(meson_bool_false bluez5) \
159     $(meson_bool_false bluez5-native-headset) \
160     $(meson_bool_false bluez5-ofono-headset) \
161     $(meson_enable systemd) \
162     $(meson_disable asyncns) \
163     $(meson_disable lirc) \
164     $(meson_disable jack) \
165     $(meson_bool_false tests) \
166 niro 15347 || die
167 niro 15356
168     mninja || die
169 niro 15347 }
170    
171     src_install_libpulse()
172     {
173 niro 15356 DESTDIR=${BINDIR} mninja install || die
174 niro 15347 zapmost ${BINDIR} \
175     etc/pulse/client.conf \
176     usr/$(mlibdir)/*.so.* usr/$(mlibdir)/pulseaudio \
177     $([[ $(mlibdir) != lib ]] && echo "usr/lib/*.so.* usr/lib/pulseaudio") \
178     || die
179     }
180    
181     src_install_libpulse-dev()
182     {
183 niro 15356 DESTDIR=${BINDIR} mninja install || die
184 niro 15347 zapmost ${BINDIR} \
185     usr/include \
186     usr/$(mlibdir)/*.so usr/$(mlibdir)/*.la usr/$(mlibdir)/cmake usr/$(mlibdir)/pkgconfig \
187     $([[ $(mlibdir) != lib ]] && echo "usr/lib/*.so usr/lib/*.la usr/lib/cmake usr/lib/pkgconfig") \
188     usr/share/vala \
189     usr/share/man/man5/pulse-client.conf.5 \
190     || die
191     }
192    
193     src_install_pulseaudio()
194     {
195     local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
196    
197 niro 15356 DESTDIR=${BINDIR} mninja install || die
198 niro 15347
199     # make avahi support optional
200     sed -i '/load-module\ module-zeroconf-publish/s:^#::' ${BINDIR}/etc/pulse/default.pa || die
201     sed -i $'/load-module\ module-zeroconf-publish/{i.ifexists\ module-zeroconf-publish.so\n;a.endif\n;}' ${BINDIR}/etc/pulse/default.pa || die
202    
203     # disable consolekit, use systemd
204     sed -i '/load-module\ module-console-kit/s:^:#:' ${BINDIR}/etc/pulse/default.pa || die
205    
206     zapmost ${BINDIR} \
207     etc/pulse/daemon.conf \
208     etc/pulse/*.pa \
209     etc/dbus-1 \
210     usr/bin/pulseaudio \
211     usr/$(mlibdir)/pulse-${major_pver}/modules \
212     $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules") \
213     $(mget-udev-rules-dir) \
214     || die
215    
216     # remove modules which are in other packages
217     mdelete /usr/$(mlibdir)/pulse-${major_pver}/modules/\*alsa\* || die
218     mdelete /usr/$(mlibdir)/pulse-${major_pver}/modules/\*x11\* || die
219     if [[ $(mlibdir) != lib ]]
220     then
221     mdelete /usr/lib/pulse-${major_pver}/modules/\*alsa\* || die
222     mdelete /usr/lib/pulse-${major_pver}/modules/\*x11\* || die
223     fi
224    
225     # state dir
226     mkeepdir /run/pulse || die
227     mchown pulse.pulse /run/pulse || die
228     }
229    
230     src_install_pulseaudio-dev()
231     {
232 niro 15356 DESTDIR=${BINDIR} mninja install || die
233 niro 15347
234     zapmost ${BINDIR} \
235     usr/share/locale \
236     usr/share/man/man1/pulseaudio.1 \
237     usr/share/man/man5/default.pa.5 \
238     usr/share/man/man5/pulse-daemon.conf.5 \
239     || die
240     }
241    
242     src_install_pulseaudio-alsa()
243     {
244     local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
245    
246 niro 15356 DESTDIR=${BINDIR} mninja install || die
247 niro 15347
248     zapmost ${BINDIR} \
249     usr/$(mlibdir)/pulse-${major_pver}/modules/*alsa* \
250     $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*alsa*") \
251     usr/share/pulseaudio/alsa-mixer \
252     || die
253     }
254    
255     src_install_pulseaudio-x11()
256     {
257     local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
258    
259 niro 15356 DESTDIR=${BINDIR} mninja install || die
260 niro 15347
261     zapmost ${BINDIR} \
262     etc/xdg \
263     usr/bin/start-pulseaudio* \
264     usr/$(mlibdir)/pulse-${major_pver}/modules/*x11* \
265     $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*x11*") \
266     usr/share/man/man1/start-pulseaudio* \
267     || die
268     }
269    
270     src_install_pulseaudio-utils()
271     {
272 niro 15356 DESTDIR=${BINDIR} mninja install || die
273 niro 15347
274     zapmost ${BINDIR} \
275     usr/bin/pa* \
276     usr/share/man/man1/pa* \
277     || die
278     }
279    
280     preinstall_pulseaudio()
281     {
282     # adding pulse user
283     mgroupadd -o "-g 11" audio
284     mgroupadd pulse-access
285     mgroupadd pulse
286     museradd -o "-g pulse -G audio -d /run/pulse -s /bin/false" pulse
287     }
288    
289     postinstall_pulseaudio()
290     {
291     if [[ -z $(magequery -n alsa-plugins) ]]
292     then
293     echo "You have alsa support enabled so you probably want to install"
294     echo "'media-sound/alsa-plugins' with pulseaudio support to have"
295     echo "alsa using applications route their sound through pulseaudio."
296     fi
297     }