Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 24400 - (hide 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 niro 23822 # $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     }