Magellan Linux

Contents of /branches/R11-stable/extras/pulseaudio/pulseaudio-5.0-r3.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 21830 - (show annotations) (download)
Mon Jul 21 09:57:02 2014 UTC (9 years, 9 months ago) by niro
File size: 10455 byte(s)
-release branches/R11-stable
1 # $Id$
2
3 PNAME="pulseaudio"
4 PVER="5.0"
5 PBUILD="r3"
6
7 SPLIT_PACKAGES="libpulse
8 pulseaudio
9 pulseaudio-zeroconf
10 pulseaudio-bluetooth
11 pulseaudio-raop
12 pulseaudio-alsa
13 pulseaudio-esound
14 pulseaudio-utils
15 pulseaudio-x11"
16
17 PCAT="media-sound"
18
19 HOMEPAGE="http://www.pulseaudio.org/"
20
21 LIBPULSE_DEPEND=">= virtual/glibc
22 >= dev-libs/glib2-2.38
23 >= dev-libs/json-c-0.11
24 >= x11-libs/libSM-1
25 >= x11-libs/libICE-1
26 >= x11-libs/libXtst-1.2
27 >= x11-libs/libX11-1.6
28 >= x11-libs/libxcb-1.10
29 >= sys-libs/libcap-2.24
30 >= sys-libs/dbus-libs-1.8
31 >= sys-libs/libsystemd-id128-210
32 >= sys-libs/libsystemd-journal-210
33 >= media-libs/libsndfile-1.0.25
34 >= sys-apps/tcp-wrappers-7.6"
35
36 COMMON_DEPEND=">= dev-db/tdb-1.2
37 >= sys-fs/libudev-210
38 >= sys-libs/libsystemd-login-210
39 >= media-libs/libsamplerate-0.1.8
40 >= media-libs/speex-1.2
41 >= sci-libs/fftw3-3.3
42 >= dev-libs/liborc-0.4
43 >= sys-libs/libltdl-2.4"
44 # todo rtkit deamon for realtime support ?
45
46 ZEROCONF_DEPEND=">= net-dns/avahi-0.6.31"
47 BLUETOOTH_DEPEND=">= net-wlan/bluez-libs-5.15
48 >= media-libs/sbc-1"
49 # module raop-discover needs zeroconf module
50 RAOP_DEPEND=">= dev-libs/openssl-1.0.1f"
51 ALSA_DEPEND=">= media-libs/alsa-lib-1.0.27"
52
53 SDEPEND="${LIBPULSE_DEPEND}
54 ${COMMON_DEPEND}
55 ${ZEROCONF_DEPEND}
56 ${BLUETOOTH_DEPEND}
57 ${RAOP_DEPEND}
58 ${ALSA_DEPEND}
59 >= x11-proto/xproto-7
60 >= dev-util/pkgconfig-0.25
61 >= dev-util/intltool-0.50
62 >= sys-dev/libtool-2.4"
63
64 SRCFILE="${PNAME}-${PVER}.tar.xz"
65 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
66
67 sminclude mtools multilib cleanutils udev
68 msetfeature "!check"
69
70 SRC_URI=(
71 http://freedesktop.org/software/${PNAME}/releases/${SRCFILE}
72 mirror://${PNAME}/${SRCFILE}
73 )
74
75 UP2DATE="updatecmd 'http://freedesktop.org/software/pulseaudio/releases/?C=M;O=A' | lasttarball xz"
76
77 split_info_libpulse()
78 {
79 DESCRIPTION="Libraries for PulseAudio clients."
80 DEPEND="${LIBPULSE_DEPEND}"
81 }
82
83 split_info_pulseaudio()
84 {
85 DESCRIPTION="A networked sound server with an advanced plugin system."
86 DEPEND="== media-sound/libpulse-${PVER}
87 ${COMMON_DEPEND}"
88 }
89
90 split_info_pulseaudio-zeroconf()
91 {
92 DESCRIPTION="Zeroconf support for the PulseAudio sound server."
93 DEPEND="== media-sound/libpulse-${PVER}
94 == media-sound/pulseaudio-${PVER}
95 ${ZEROCONF_DEPEND}"
96 }
97
98 split_info_pulseaudio-bluetooth()
99 {
100 DESCRIPTION="Bluetooth support for the PulseAudio sound server."
101 DEPEND="== media-sound/libpulse-${PVER}
102 == media-sound/pulseaudio-${PVER}
103 ${BLUETOOTH_DEPEND}"
104 }
105
106 split_info_pulseaudio-raop()
107 {
108 DESCRIPTION="RAOP support for the PulseAudio sound server."
109 DEPEND="== media-sound/libpulse-${PVER}
110 == media-sound/pulseaudio-${PVER}
111 == media-sound/pulseaudio-zeroconf-${PVER}
112 ${RAOP_DEPEND}"
113 }
114
115 split_info_pulseaudio-alsa()
116 {
117 DESCRIPTION="ALSA support for the PulseAudio sound server."
118 DEPEND="== media-sound/libpulse-${PVER}
119 == media-sound/pulseaudio-${PVER}
120 ${ALSA_DEPEND}"
121 }
122
123 split_info_pulseaudio-esound()
124 {
125 DESCRIPTION="PulseAudio EsounD daemon compatibility script."
126 DEPEND="== media-sound/libpulse-${PVER}
127 == media-sound/pulseaudio-${PVER}"
128 }
129
130 split_info_pulseaudio-x11()
131 {
132 DESCRIPTION="X11 support for the PulseAudio sound server."
133 DEPEND="== media-sound/libpulse-${PVER}
134 == media-sound/pulseaudio-${PVER}
135 == media-sound/pulseaudio-utils-${PVER}"
136 }
137
138 split_info_pulseaudio-utils()
139 {
140 DESCRIPTION="PulseAudio sound server utilities."
141 DEPEND="== media-sound/libpulse-${PVER}
142 == media-sound/pulseaudio-${PVER}"
143 }
144
145 src_prepare()
146 {
147 munpack ${SRCFILE} || die
148
149 # fix /var/run -> /run
150 all-abis "sed -i 's:^\(PA_SYSTEM_RUNTIME_PATH=\).*:\1\"/run/pulse\":' configure.ac || die"
151
152 # configure rebuild taken from bootstrap.sh
153 all-abis "autopoint --force"
154 AUTOPOINT='intltoolize --automake --copy' mautoreconf || die
155 }
156
157 src_compile()
158 {
159 mconfigure \
160 --libexecdir=/usr/'$(mlibdir)'/pulse-${PVER} \
161 --localstatedir=/var \
162 --with-udev-rules-dir=$(mget-udev-rules-dir) \
163 --with-database=tdb \
164 --with-caps \
165 --disable-per-user-esound-socket \
166 --disable-solaris \
167 --disable-hal \
168 --disable-rpath \
169 --enable-largefile \
170 --enable-glib2 \
171 --enable-udev \
172 --enable-dbus \
173 --enable-alsa \
174 --enable-samplerate \
175 --enable-ipv6 \
176 --enable-avahi \
177 --enable-tcpwrap \
178 --enable-x11 \
179 --enable-bluez5 \
180 --disable-bluez4 \
181 --enable-systemd \
182 --disable-asyncns \
183 --disable-oss-output \
184 --disable-lirc \
185 --disable-jack \
186 --disable-gconf \
187 --disable-default-build-tests \
188 || die
189
190 mmake || die
191 }
192
193 src_install_libpulse()
194 {
195 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
196
197 mmake -j1 DESTDIR=${BINDIR} install || die
198 zapmost ${BINDIR} \
199 etc/pulse/client.conf \
200 usr/include \
201 usr/$(mlibdir)/*.so usr/$(mlibdir)/*.so.* usr/$(mlibdir)/*.la usr/$(mlibdir)/cmake usr/$(mlibdir)/pkgconfig usr/$(mlibdir)/pulseaudio \
202 $([[ $(mlibdir) != lib ]] && echo "usr/lib/*.so usr/lib/*.so.* usr/lib/*.la usr/lib/cmake usr/lib/pkgconfig usr/lib/pulseaudio") \
203 usr/share/vala \
204 usr/share/man/man5/pulse-client.conf.5 \
205 || die
206
207 # remove libpulsecore and libpulsedsp
208 rm ${BINDIR}/usr/$(mlibdir)/libpulsecore-${major_pver}.* || die
209 if [[ $(mlibdir) != lib ]]
210 then
211 rm ${BINDIR}/usr/lib/libpulsecore-${major_pver}.* || die
212 fi
213 }
214
215 src_install_pulseaudio()
216 {
217 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
218
219 mmake -j1 DESTDIR=${BINDIR} install || die
220
221 # make avahi support optional
222 sed -i '/load-module\ module-zeroconf-publish/s:^#::' ${BINDIR}/etc/pulse/default.pa || die
223 sed -i $'/load-module\ module-zeroconf-publish/{i.ifexists\ module-zeroconf-publish.so\n;a.endif\n;}' ${BINDIR}/etc/pulse/default.pa || die
224
225 # disable consolekit, use systemd
226 sed -i '/load-module\ module-console-kit/s:^:#:' ${BINDIR}/etc/pulse/default.pa || die
227
228 zapmost ${BINDIR} \
229 etc/pulse/daemon.conf \
230 etc/pulse/*.pa \
231 etc/dbus-1 \
232 usr/bin/pulseaudio \
233 usr/$(mlibdir)/libpulsecore-*.* \
234 usr/$(mlibdir)/pulse-${major_pver}/modules \
235 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libpulsecore-*.*
236 usr/lib/pulse-${major_pver}/modules") \
237 usr/share/locale \
238 usr/share/man/man1/pulseaudio.1 \
239 usr/share/man/man5/default.pa.5 \
240 usr/share/man/man5/pulse-daemon.conf.5 \
241 lib/udev \
242 || die
243
244 # remove modules which are in other packages
245 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*alsa* || die
246 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*esound* || die
247 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*avahi* || die
248 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*zeroconf* || die
249 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*x11* || die
250 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*bluetooth* || die
251 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*bluez* || die
252 rm -rf ${BINDIR}/usr/$(mlibdir)/pulse-${major_pver}/modules/*raop* || die
253 if [[ $(mlibdir) != lib ]]
254 then
255 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*alsa* || die
256 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*esound* || die
257 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*avahi* || die
258 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*zeroconf* || die
259 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*x11* || die
260 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*bluetooth* || die
261 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*bluez* || die
262 rm -rf ${BINDIR}/usr/lib/pulse-${major_pver}/modules/*raop* || die
263 fi
264
265 # state dir
266 mkeepdir /run/pulse || die
267 mchown pulse.pulse /run/pulse || die
268 }
269
270 src_install_pulseaudio-alsa()
271 {
272 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
273
274 mmake -j1 DESTDIR=${BINDIR} install || die
275
276 zapmost ${BINDIR} \
277 usr/$(mlibdir)/pulse-${major_pver}/modules/*alsa* \
278 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*alsa*") \
279 usr/share/pulseaudio/alsa-mixer \
280 || die
281 }
282
283 src_install_pulseaudio-esound()
284 {
285 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
286
287 mmake -j1 DESTDIR=${BINDIR} install || die
288
289 zapmost ${BINDIR} \
290 usr/bin/esdcompat \
291 usr/$(mlibdir)/pulse-${major_pver}/modules/*esound* \
292 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*esound*") \
293 usr/share/man/man1/esdcompat.1 \
294 || die
295 }
296
297 src_install_pulseaudio-zeroconf()
298 {
299 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
300
301 mmake -j1 DESTDIR=${BINDIR} install || die
302
303 zapmost ${BINDIR} \
304 usr/$(mlibdir)/pulse-${major_pver}/modules/*avahi* \
305 usr/$(mlibdir)/pulse-${major_pver}/modules/*zeroconf* \
306 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*avahi*
307 usr/lib/pulse-${major_pver}/modules/*zeroconf*") \
308 || die
309 }
310
311 src_install_pulseaudio-x11()
312 {
313 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
314
315 mmake -j1 DESTDIR=${BINDIR} install || die
316
317 zapmost ${BINDIR} \
318 etc/xdg \
319 usr/bin/start-pulseaudio* \
320 usr/$(mlibdir)/pulse-${major_pver}/modules/*x11* \
321 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*x11*") \
322 usr/share/man/man1/start-pulseaudio* \
323 || die
324 }
325
326 src_install_pulseaudio-bluetooth()
327 {
328 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
329
330 mmake -j1 DESTDIR=${BINDIR} install || die
331
332 zapmost ${BINDIR} \
333 usr/$(mlibdir)/pulse-${major_pver}/modules/*bluetooth* \
334 usr/$(mlibdir)/pulse-${major_pver}/modules/*bluez* \
335 usr/$(mlibdir)/pulse-${major_pver}/pulse/proximity-helper \
336 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*bluetooth*
337 usr/lib/pulse-${major_pver}/modules/*bluez*
338 usr/lib/pulse-${major_pver}/pulse/proximity-helper") \
339 || die
340 }
341
342 src_install_pulseaudio-raop()
343 {
344 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
345
346 mmake -j1 DESTDIR=${BINDIR} install || die
347
348 zapmost ${BINDIR} \
349 usr/$(mlibdir)/pulse-${major_pver}/modules/*raop* \
350 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*raop*") \
351 || die
352 }
353
354 src_install_pulseaudio-utils()
355 {
356 mmake -j1 DESTDIR=${BINDIR} install || die
357
358 zapmost ${BINDIR} \
359 usr/bin/pa* \
360 usr/share/man/man1/pa* \
361 || die
362 }
363
364 preinstall_pulseaudio()
365 {
366 # adding pulse user
367 ${MLIBDIR}/mgroupadd -o "-g 11" audio
368 ${MLIBDIR}/mgroupadd pulse-access
369 ${MLIBDIR}/mgroupadd pulse
370 ${MLIBDIR}/museradd -o "-g pulse -G audio -d /run/pulse -s /bin/false" pulse
371 }
372
373 postinstall_pulseaudio()
374 {
375 if [[ -z $(magequery -n alsa-plugins) ]]
376 then
377 echo "You have alsa support enabled so you probably want to install"
378 echo "'media-sound/alsa-plugins' with pulseaudio support to have"
379 echo "alsa using applications route their sound through pulseaudio."
380 fi
381 }