Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 24400 - (show annotations) (download)
Fri Feb 20 10:18:31 2015 UTC (9 years, 2 months ago) by niro
File size: 10347 byte(s)
-release branches/R11-stable
1 # $Id$
2
3 PNAME="pulseaudio"
4 PVER="5.0"
5 PBUILD="r6"
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.42
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.11
29 >= sys-libs/libcap-2.24
30 >= sys-libs/dbus-libs-1.8
31 >= sys-libs/libsystemd-id128-218
32 >= sys-libs/libsystemd-journal-218
33 >= media-libs/libsndfile-1.0.25
34 >= sys-apps/tcp-wrappers-7.6"
35
36 COMMON_DEPEND=">= dev-db/tdb-1.3
37 >= sys-fs/libudev-218
38 >= sys-libs/libsystemd-login-218
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.23
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.27
48 >= media-libs/sbc-1.3"
49 # module raop-discover needs zeroconf module
50 RAOP_DEPEND=">= dev-libs/openssl-1.0.1"
51 ALSA_DEPEND=">= media-libs/alsa-lib-1.0.28"
52
53 SDEPEND="${LIBPULSE_DEPEND}
54 ${COMMON_DEPEND}
55 ${ZEROCONF_DEPEND}
56 ${BLUETOOTH_DEPEND}
57 ${RAOP_DEPEND}
58 ${ALSA_DEPEND}
59 >= dev-lang/orc-0.4.23
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/ | highesttarball 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 pkg_setup()
146 {
147 preinstall_pulseaudio
148 }
149
150 src_prepare()
151 {
152 munpack ${SRCFILE} || die
153
154 # fix /var/run -> /run
155 all-abis "sed -i 's:^\(PA_SYSTEM_RUNTIME_PATH=\).*:\1\"/run/pulse\":' configure.ac || die"
156
157 # configure rebuild taken from bootstrap.sh
158 all-abis "autopoint --force"
159 AUTOPOINT='intltoolize --automake --copy' mautoreconf || die
160 }
161
162 src_compile()
163 {
164 mconfigure \
165 --libexecdir=/usr/'$(mlibdir)'/pulse-${PVER} \
166 --localstatedir=/var \
167 --with-udev-rules-dir=$(mget-udev-rules-dir) \
168 --with-database=tdb \
169 --with-caps \
170 --disable-per-user-esound-socket \
171 --disable-solaris \
172 --disable-hal \
173 --disable-rpath \
174 --enable-largefile \
175 --enable-glib2 \
176 --enable-udev \
177 --enable-dbus \
178 --enable-alsa \
179 --enable-samplerate \
180 --enable-ipv6 \
181 --enable-avahi \
182 --enable-tcpwrap \
183 --enable-x11 \
184 --enable-bluez5 \
185 --disable-bluez4 \
186 --enable-systemd \
187 --disable-asyncns \
188 --disable-oss-output \
189 --disable-lirc \
190 --disable-jack \
191 --disable-gconf \
192 --disable-default-build-tests \
193 || die
194
195 mmake || die
196 }
197
198 src_install_libpulse()
199 {
200 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
201
202 mmake -j1 DESTDIR=${BINDIR} install || die
203 zapmost ${BINDIR} \
204 etc/pulse/client.conf \
205 usr/include \
206 usr/$(mlibdir)/*.so usr/$(mlibdir)/*.so.* usr/$(mlibdir)/*.la usr/$(mlibdir)/cmake usr/$(mlibdir)/pkgconfig usr/$(mlibdir)/pulseaudio \
207 $([[ $(mlibdir) != lib ]] && echo "usr/lib/*.so usr/lib/*.so.* usr/lib/*.la usr/lib/cmake usr/lib/pkgconfig usr/lib/pulseaudio") \
208 usr/share/vala \
209 usr/share/man/man5/pulse-client.conf.5 \
210 || die
211
212 # remove libpulsecore and libpulsedsp
213 mdelete /usr/$(mlibdir)/libpulsecore-${major_pver}.\* || die
214 if [[ $(mlibdir) != lib ]]
215 then
216 mdelete /usr/lib/libpulsecore-${major_pver}.\* || die
217 fi
218 }
219
220 src_install_pulseaudio()
221 {
222 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
223
224 mmake -j1 DESTDIR=${BINDIR} install || die
225
226 # make avahi support optional
227 sed -i '/load-module\ module-zeroconf-publish/s:^#::' ${BINDIR}/etc/pulse/default.pa || die
228 sed -i $'/load-module\ module-zeroconf-publish/{i.ifexists\ module-zeroconf-publish.so\n;a.endif\n;}' ${BINDIR}/etc/pulse/default.pa || die
229
230 # disable consolekit, use systemd
231 sed -i '/load-module\ module-console-kit/s:^:#:' ${BINDIR}/etc/pulse/default.pa || die
232
233 zapmost ${BINDIR} \
234 etc/pulse/daemon.conf \
235 etc/pulse/*.pa \
236 etc/dbus-1 \
237 usr/bin/pulseaudio \
238 usr/$(mlibdir)/libpulsecore-*.* \
239 usr/$(mlibdir)/pulse-${major_pver}/modules \
240 $([[ $(mlibdir) != lib ]] && echo "usr/lib/libpulsecore-*.*
241 usr/lib/pulse-${major_pver}/modules") \
242 usr/share/locale \
243 usr/share/man/man1/pulseaudio.1 \
244 usr/share/man/man5/default.pa.5 \
245 usr/share/man/man5/pulse-daemon.conf.5 \
246 lib/udev \
247 || die
248
249 # remove modules which are in other packages
250 mdelete /usr/$(mlibdir)/pulse-${major_pver}/modules/\*alsa\* || die
251 mdelete /usr/$(mlibdir)/pulse-${major_pver}/modules/\*esound\* || die
252 mdelete /usr/$(mlibdir)/pulse-${major_pver}/modules/\*avahi\* || die
253 mdelete /usr/$(mlibdir)/pulse-${major_pver}/modules/\*zeroconf\* || die
254 mdelete /usr/$(mlibdir)/pulse-${major_pver}/modules/\*x11\* || die
255 mdelete /usr/$(mlibdir)/pulse-${major_pver}/modules/\*bluetooth\* || die
256 mdelete /usr/$(mlibdir)/pulse-${major_pver}/modules/\*bluez\* || die
257 mdelete /usr/$(mlibdir)/pulse-${major_pver}/modules/\*raop\* || die
258 if [[ $(mlibdir) != lib ]]
259 then
260 mdelete /usr/lib/pulse-${major_pver}/modules/\*alsa\* || die
261 mdelete /usr/lib/pulse-${major_pver}/modules/\*esound\* || die
262 mdelete /usr/lib/pulse-${major_pver}/modules/\*avahi\* || die
263 mdelete /usr/lib/pulse-${major_pver}/modules/\*zeroconf\* || die
264 mdelete /usr/lib/pulse-${major_pver}/modules/\*x11\* || die
265 mdelete /usr/lib/pulse-${major_pver}/modules/\*bluetooth\* || die
266 mdelete /usr/lib/pulse-${major_pver}/modules/\*bluez\* || die
267 mdelete /usr/lib/pulse-${major_pver}/modules/\*raop\* || die
268 fi
269
270 # state dir
271 mkeepdir /run/pulse || die
272 mchown pulse.pulse /run/pulse || die
273 }
274
275 src_install_pulseaudio-alsa()
276 {
277 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
278
279 mmake -j1 DESTDIR=${BINDIR} install || die
280
281 zapmost ${BINDIR} \
282 usr/$(mlibdir)/pulse-${major_pver}/modules/*alsa* \
283 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*alsa*") \
284 usr/share/pulseaudio/alsa-mixer \
285 || die
286 }
287
288 src_install_pulseaudio-esound()
289 {
290 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
291
292 mmake -j1 DESTDIR=${BINDIR} install || die
293
294 zapmost ${BINDIR} \
295 usr/bin/esdcompat \
296 usr/$(mlibdir)/pulse-${major_pver}/modules/*esound* \
297 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*esound*") \
298 usr/share/man/man1/esdcompat.1 \
299 || die
300 }
301
302 src_install_pulseaudio-zeroconf()
303 {
304 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
305
306 mmake -j1 DESTDIR=${BINDIR} install || die
307
308 zapmost ${BINDIR} \
309 usr/$(mlibdir)/pulse-${major_pver}/modules/*avahi* \
310 usr/$(mlibdir)/pulse-${major_pver}/modules/*zeroconf* \
311 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*avahi*
312 usr/lib/pulse-${major_pver}/modules/*zeroconf*") \
313 || die
314 }
315
316 src_install_pulseaudio-x11()
317 {
318 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
319
320 mmake -j1 DESTDIR=${BINDIR} install || die
321
322 zapmost ${BINDIR} \
323 etc/xdg \
324 usr/bin/start-pulseaudio* \
325 usr/$(mlibdir)/pulse-${major_pver}/modules/*x11* \
326 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*x11*") \
327 usr/share/man/man1/start-pulseaudio* \
328 || die
329 }
330
331 src_install_pulseaudio-bluetooth()
332 {
333 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
334
335 mmake -j1 DESTDIR=${BINDIR} install || die
336
337 zapmost ${BINDIR} \
338 usr/$(mlibdir)/pulse-${major_pver}/modules/*bluetooth* \
339 usr/$(mlibdir)/pulse-${major_pver}/modules/*bluez* \
340 usr/$(mlibdir)/pulse-${major_pver}/pulse/proximity-helper \
341 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*bluetooth*
342 usr/lib/pulse-${major_pver}/modules/*bluez*
343 usr/lib/pulse-${major_pver}/pulse/proximity-helper") \
344 || die
345 }
346
347 src_install_pulseaudio-raop()
348 {
349 local major_pver="$(echo ${PVER} | cut -d. -f1-2)"
350
351 mmake -j1 DESTDIR=${BINDIR} install || die
352
353 zapmost ${BINDIR} \
354 usr/$(mlibdir)/pulse-${major_pver}/modules/*raop* \
355 $([[ $(mlibdir) != lib ]] && echo "usr/lib/pulse-${major_pver}/modules/*raop*") \
356 || die
357 }
358
359 src_install_pulseaudio-utils()
360 {
361 mmake -j1 DESTDIR=${BINDIR} install || die
362
363 zapmost ${BINDIR} \
364 usr/bin/pa* \
365 usr/share/man/man1/pa* \
366 || die
367 }
368
369 preinstall_pulseaudio()
370 {
371 # adding pulse user
372 mgroupadd -o "-g 11" audio
373 mgroupadd pulse-access
374 mgroupadd pulse
375 museradd -o "-g pulse -G audio -d /run/pulse -s /bin/false" pulse
376 }
377
378 postinstall_pulseaudio()
379 {
380 if [[ -z $(magequery -n alsa-plugins) ]]
381 then
382 echo "You have alsa support enabled so you probably want to install"
383 echo "'media-sound/alsa-plugins' with pulseaudio support to have"
384 echo "alsa using applications route their sound through pulseaudio."
385 fi
386 }