Magellan Linux

Contents of /trunk/extras/pulseaudio/pulseaudio-5.0-r4.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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