Contents of /trunk/extras/pulseaudio/pulseaudio-5.0-r4.smage2
Parent Directory | 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)
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 | } |