1 |
mgorny 13/11/30 16:12:45 |
2 |
|
3 |
Modified: pulseaudio-9999.ebuild ChangeLog |
4 |
Added: pulseaudio-4.0-r1.ebuild |
5 |
Log: |
6 |
Introduce multilib support, bug #484252. |
7 |
|
8 |
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!) |
9 |
|
10 |
Revision Changes Path |
11 |
1.39 media-sound/pulseaudio/pulseaudio-9999.ebuild |
12 |
|
13 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/pulseaudio/pulseaudio-9999.ebuild?rev=1.39&view=markup |
14 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/pulseaudio/pulseaudio-9999.ebuild?rev=1.39&content-type=text/plain |
15 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/pulseaudio/pulseaudio-9999.ebuild?r1=1.38&r2=1.39 |
16 |
|
17 |
Index: pulseaudio-9999.ebuild |
18 |
=================================================================== |
19 |
RCS file: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-9999.ebuild,v |
20 |
retrieving revision 1.38 |
21 |
retrieving revision 1.39 |
22 |
diff -u -r1.38 -r1.39 |
23 |
--- pulseaudio-9999.ebuild 9 Aug 2013 19:19:40 -0000 1.38 |
24 |
+++ pulseaudio-9999.ebuild 30 Nov 2013 16:12:45 -0000 1.39 |
25 |
@@ -1,10 +1,10 @@ |
26 |
# Copyright 1999-2013 Gentoo Foundation |
27 |
# Distributed under the terms of the GNU General Public License v2 |
28 |
-# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-9999.ebuild,v 1.38 2013/08/09 19:19:40 ssuominen Exp $ |
29 |
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-9999.ebuild,v 1.39 2013/11/30 16:12:45 mgorny Exp $ |
30 |
|
31 |
EAPI="5" |
32 |
|
33 |
-inherit autotools eutils flag-o-matic user versionator git-2 udev |
34 |
+inherit autotools eutils flag-o-matic multilib-minimal user versionator git-2 udev |
35 |
|
36 |
DESCRIPTION="A networked sound server with an advanced plugin system" |
37 |
HOMEPAGE="http://www.pulseaudio.org/" |
38 |
@@ -22,24 +22,24 @@ |
39 |
gtk ipv6 jack libsamplerate lirc neon +orc oss qt4 realtime ssl systemd |
40 |
system-wide tcpd test +udev +webrtc-aec +X xen" |
41 |
|
42 |
-RDEPEND=">=media-libs/libsndfile-1.0.20 |
43 |
+RDEPEND=">=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}] |
44 |
X? ( |
45 |
- >=x11-libs/libX11-1.4.0 |
46 |
- >=x11-libs/libxcb-1.6 |
47 |
+ >=x11-libs/libX11-1.4.0[${MULTILIB_USEDEP}] |
48 |
+ >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}] |
49 |
>=x11-libs/xcb-util-0.3.1 |
50 |
- x11-libs/libSM |
51 |
- x11-libs/libICE |
52 |
- x11-libs/libXtst |
53 |
+ x11-libs/libSM[${MULTILIB_USEDEP}] |
54 |
+ x11-libs/libICE[${MULTILIB_USEDEP}] |
55 |
+ x11-libs/libXtst[${MULTILIB_USEDEP}] |
56 |
) |
57 |
- caps? ( sys-libs/libcap ) |
58 |
+ caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] ) |
59 |
libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) |
60 |
alsa? ( >=media-libs/alsa-lib-1.0.19 ) |
61 |
- glib? ( >=dev-libs/glib-2.4.0 ) |
62 |
+ glib? ( >=dev-libs/glib-2.4.0[${MULTILIB_USEDEP}] ) |
63 |
avahi? ( >=net-dns/avahi-0.6.12[dbus] ) |
64 |
jack? ( >=media-sound/jack-audio-connection-kit-0.117 ) |
65 |
- tcpd? ( sys-apps/tcp-wrappers ) |
66 |
+ tcpd? ( sys-apps/tcp-wrappers[${MULTILIB_USEDEP}] ) |
67 |
lirc? ( app-misc/lirc ) |
68 |
- dbus? ( >=sys-apps/dbus-1.0.0 ) |
69 |
+ dbus? ( >=sys-apps/dbus-1.0.0[${MULTILIB_USEDEP}] ) |
70 |
gtk? ( x11-libs/gtk+:3 ) |
71 |
gnome? ( >=gnome-base/gconf-2.4.0 ) |
72 |
bluetooth? ( |
73 |
@@ -47,7 +47,7 @@ |
74 |
>=sys-apps/dbus-1.0.0 |
75 |
media-libs/sbc |
76 |
) |
77 |
- asyncns? ( net-libs/libasyncns ) |
78 |
+ asyncns? ( net-libs/libasyncns[${MULTILIB_USEDEP}] ) |
79 |
udev? ( >=virtual/udev-143[hwdb(+)] ) |
80 |
realtime? ( sys-auth/rtkit ) |
81 |
equalizer? ( sci-libs/fftw:3.0 ) |
82 |
@@ -58,7 +58,9 @@ |
83 |
webrtc-aec? ( media-libs/webrtc-audio-processing ) |
84 |
xen? ( app-emulation/xen ) |
85 |
systemd? ( >=sys-apps/systemd-39 ) |
86 |
- dev-libs/json-c |
87 |
+ dev-libs/json-c[${MULTILIB_USEDEP}] |
88 |
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-soundlibs-20131008-r1 |
89 |
+ !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] ) |
90 |
>=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used |
91 |
|
92 |
DEPEND="${RDEPEND} |
93 |
@@ -66,8 +68,8 @@ |
94 |
doc? ( app-doc/doxygen ) |
95 |
test? ( dev-libs/check ) |
96 |
X? ( |
97 |
- x11-proto/xproto |
98 |
- >=x11-libs/libXtst-1.0.99.2 |
99 |
+ x11-proto/xproto[${MULTILIB_USEDEP}] |
100 |
+ >=x11-libs/libXtst-1.0.99.2[${MULTILIB_USEDEP}] |
101 |
) |
102 |
dev-libs/libatomic_ops |
103 |
virtual/pkgconfig |
104 |
@@ -107,47 +109,93 @@ |
105 |
epatch_user |
106 |
} |
107 |
|
108 |
-src_configure() { |
109 |
+multilib_src_configure() { |
110 |
+ local myconf=() |
111 |
+ |
112 |
if use gdbm; then |
113 |
- myconf+=" --with-database=gdbm" |
114 |
+ myconf+=( --with-database=gdbm ) |
115 |
#elif use tdb; then |
116 |
- # myconf+=" --with-database=tdb" |
117 |
+ # myconf+=( --with-database=tdb ) |
118 |
else |
119 |
- myconf+=" --with-database=simple" |
120 |
+ myconf+=( --with-database=simple ) |
121 |
+ fi |
122 |
+ |
123 |
+ myconf+=( |
124 |
+ --enable-largefile |
125 |
+ $(use_enable glib glib2) |
126 |
+ --disable-solaris |
127 |
+ $(use_enable asyncns) |
128 |
+ $(use_enable oss oss-output) |
129 |
+ $(use_enable alsa) |
130 |
+ $(use_enable lirc) |
131 |
+ $(use_enable neon neon-opt) |
132 |
+ $(use_enable tcpd tcpwrap) |
133 |
+ $(use_enable jack) |
134 |
+ $(use_enable avahi) |
135 |
+ $(use_enable dbus) |
136 |
+ $(use_enable gnome gconf) |
137 |
+ $(use_enable gtk gtk3) |
138 |
+ $(use_enable libsamplerate samplerate) |
139 |
+ $(use_enable bluetooth bluez) |
140 |
+ $(use_enable X x11) |
141 |
+ $(use_enable test default-build-tests) |
142 |
+ $(use_enable udev) |
143 |
+ $(use_enable systemd) |
144 |
+ $(use_enable ipv6) |
145 |
+ $(use_enable ssl openssl) |
146 |
+ $(use_enable webrtc-aec) |
147 |
+ $(use_enable xen) |
148 |
+ $(use_with caps) |
149 |
+ $(use_with equalizer fftw) |
150 |
+ --disable-adrian-aec |
151 |
+ --disable-esound |
152 |
+ --localstatedir="${EPREFIX}"/var |
153 |
+ --with-udev-rules-dir="${EPREFIX}/$(udev_get_udevdir)"/rules.d |
154 |
+ ) |
155 |
+ |
156 |
+ if ! multilib_build_binaries; then |
157 |
+ # disable all the modules and stuff |
158 |
+ myconf+=( |
159 |
+ --disable-oss-output |
160 |
+ --disable-alsa |
161 |
+ --disable-lirc |
162 |
+ --disable-jack |
163 |
+ --disable-avahi |
164 |
+ --disable-gconf |
165 |
+ --disable-gtk3 |
166 |
+ --disable-samplerate |
167 |
+ --disable-bluez |
168 |
+ --disable-udev |
169 |
+ --disable-systemd |
170 |
+ --disable-openssl |
171 |
+ --disable-webrtc-aec |
172 |
+ --disable-xen |
173 |
+ --without-fftw |
174 |
+ |
175 |
+ # tests involve random modules, so just do them for the native |
176 |
+ --disable-default-build-tests |
177 |
+ |
178 |
+ # hack around unnecessary checks |
179 |
+ # (results don't matter, we're not building anything using it) |
180 |
+ ac_cv_lib_ltdl_lt_dladvise_init=yes |
181 |
+ --with-database=simple |
182 |
+ ) |
183 |
fi |
184 |
|
185 |
- econf \ |
186 |
- --enable-largefile \ |
187 |
- $(use_enable glib glib2) \ |
188 |
- --disable-solaris \ |
189 |
- $(use_enable asyncns) \ |
190 |
- $(use_enable oss oss-output) \ |
191 |
- $(use_enable alsa) \ |
192 |
- $(use_enable lirc) \ |
193 |
- $(use_enable neon neon-opt) \ |
194 |
- $(use_enable tcpd tcpwrap) \ |
195 |
- $(use_enable jack) \ |
196 |
- $(use_enable avahi) \ |
197 |
- $(use_enable dbus) \ |
198 |
- $(use_enable gnome gconf) \ |
199 |
- $(use_enable gtk gtk3) \ |
200 |
- $(use_enable libsamplerate samplerate) \ |
201 |
- $(use_enable bluetooth bluez) \ |
202 |
- $(use_enable X x11) \ |
203 |
- $(use_enable test default-build-tests) \ |
204 |
- $(use_enable udev) \ |
205 |
- $(use_enable systemd) \ |
206 |
- $(use_enable ipv6) \ |
207 |
- $(use_enable ssl openssl) \ |
208 |
- $(use_enable webrtc-aec) \ |
209 |
- $(use_enable xen) \ |
210 |
- $(use_with caps) \ |
211 |
- $(use_with equalizer fftw) \ |
212 |
- --disable-adrian-aec \ |
213 |
- --disable-esound \ |
214 |
- --localstatedir="${EPREFIX}"/var \ |
215 |
- --with-udev-rules-dir="${EPREFIX}/$(udev_get_udevdir)"/rules.d \ |
216 |
- ${myconf} |
217 |
+ ECONF_SOURCE=${S} \ |
218 |
+ econf "${myconf[@]}" |
219 |
+} |
220 |
+ |
221 |
+multilib_src_compile() { |
222 |
+ if multilib_build_binaries; then |
223 |
+ emake |
224 |
+ else |
225 |
+ emake -C src libpulse{,-simple,-mainloop-glib}.la |
226 |
+ fi |
227 |
+} |
228 |
+ |
229 |
+src_compile() { |
230 |
+ multilib-minimal_src_compile |
231 |
|
232 |
if use doc; then |
233 |
pushd doxygen |
234 |
@@ -156,16 +204,28 @@ |
235 |
fi |
236 |
} |
237 |
|
238 |
-src_test() { |
239 |
+multilib_src_test() { |
240 |
# We avoid running the toplevel check target because that will run |
241 |
# po/'s tests too, and they are broken. Officially, it should work |
242 |
# with intltool 0.41, but that doesn't look like a stable release. |
243 |
- emake -C src check |
244 |
+ if multilib_build_binaries; then |
245 |
+ emake -C src check |
246 |
+ fi |
247 |
} |
248 |
|
249 |
-src_install() { |
250 |
- emake -j1 DESTDIR="${D}" install |
251 |
+multilib_src_install() { |
252 |
+ if multilib_build_binaries; then |
253 |
+ emake -j1 DESTDIR="${D}" install |
254 |
+ else |
255 |
+ emake DESTDIR="${D}" install-pkgconfigDATA |
256 |
+ emake DESTDIR="${D}" -C src \ |
257 |
+ install-libLTLIBRARIES \ |
258 |
+ lib_LTLIBRARIES="libpulse.la libpulse-simple.la libpulse-mainloop-glib.la" \ |
259 |
+ install-pulseincludeHEADERS |
260 |
+ fi |
261 |
+} |
262 |
|
263 |
+multilib_src_install_all() { |
264 |
# Drop the script entirely if X is disabled |
265 |
use X || rm "${ED}"/usr/bin/start-pulseaudio-x11 |
266 |
|
267 |
@@ -201,7 +261,7 @@ |
268 |
# Create the state directory |
269 |
use prefix || diropts -o pulse -g pulse -m0755 |
270 |
|
271 |
- find "${D}" -name '*.la' -delete |
272 |
+ prune_libtool_files --all |
273 |
} |
274 |
|
275 |
pkg_postinst() { |
276 |
|
277 |
|
278 |
|
279 |
1.308 media-sound/pulseaudio/ChangeLog |
280 |
|
281 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/pulseaudio/ChangeLog?rev=1.308&view=markup |
282 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/pulseaudio/ChangeLog?rev=1.308&content-type=text/plain |
283 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/pulseaudio/ChangeLog?r1=1.307&r2=1.308 |
284 |
|
285 |
Index: ChangeLog |
286 |
=================================================================== |
287 |
RCS file: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v |
288 |
retrieving revision 1.307 |
289 |
retrieving revision 1.308 |
290 |
diff -u -r1.307 -r1.308 |
291 |
--- ChangeLog 23 Nov 2013 21:41:38 -0000 1.307 |
292 |
+++ ChangeLog 30 Nov 2013 16:12:45 -0000 1.308 |
293 |
@@ -1,6 +1,12 @@ |
294 |
# ChangeLog for media-sound/pulseaudio |
295 |
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 |
296 |
-# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.307 2013/11/23 21:41:38 pacho Exp $ |
297 |
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.308 2013/11/30 16:12:45 mgorny Exp $ |
298 |
+ |
299 |
+*pulseaudio-4.0-r1 (30 Nov 2013) |
300 |
+ |
301 |
+ 30 Nov 2013; Michał Górny <mgorny@g.o> +pulseaudio-4.0-r1.ebuild, |
302 |
+ pulseaudio-9999.ebuild: |
303 |
+ Introduce multilib support, bug #484252. |
304 |
|
305 |
23 Nov 2013; Pacho Ramos <pacho@g.o> pulseaudio-4.0.ebuild: |
306 |
amd64 stable, bug #477662 |
307 |
|
308 |
|
309 |
|
310 |
1.1 media-sound/pulseaudio/pulseaudio-4.0-r1.ebuild |
311 |
|
312 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/pulseaudio/pulseaudio-4.0-r1.ebuild?rev=1.1&view=markup |
313 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/pulseaudio/pulseaudio-4.0-r1.ebuild?rev=1.1&content-type=text/plain |
314 |
|
315 |
Index: pulseaudio-4.0-r1.ebuild |
316 |
=================================================================== |
317 |
# Copyright 1999-2013 Gentoo Foundation |
318 |
# Distributed under the terms of the GNU General Public License v2 |
319 |
# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-4.0-r1.ebuild,v 1.1 2013/11/30 16:12:45 mgorny Exp $ |
320 |
|
321 |
EAPI="5" |
322 |
|
323 |
inherit eutils flag-o-matic multilib-minimal user versionator udev |
324 |
|
325 |
DESCRIPTION="A networked sound server with an advanced plugin system" |
326 |
HOMEPAGE="http://www.pulseaudio.org/" |
327 |
|
328 |
SRC_URI="http://freedesktop.org/software/pulseaudio/releases/${P}.tar.xz" |
329 |
|
330 |
# libpulse-simple and libpulse link to libpulse-core; this is daemon's |
331 |
# library and can link to gdbm and other GPL-only libraries. In this |
332 |
# cases, we have a fully GPL-2 package. Leaving the rest of the |
333 |
# GPL-forcing USE flags for those who use them. |
334 |
LICENSE="!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 )" |
335 |
SLOT="0" |
336 |
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" |
337 |
IUSE="+alsa +asyncns avahi bluetooth +caps dbus doc equalizer +gdbm +glib gnome |
338 |
gtk ipv6 jack libsamplerate lirc neon +orc oss qt4 realtime ssl systemd |
339 |
system-wide tcpd test +udev +webrtc-aec +X xen" |
340 |
|
341 |
RDEPEND=">=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}] |
342 |
X? ( |
343 |
>=x11-libs/libX11-1.4.0[${MULTILIB_USEDEP}] |
344 |
>=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}] |
345 |
>=x11-libs/xcb-util-0.3.1 |
346 |
x11-libs/libSM[${MULTILIB_USEDEP}] |
347 |
x11-libs/libICE[${MULTILIB_USEDEP}] |
348 |
x11-libs/libXtst[${MULTILIB_USEDEP}] |
349 |
) |
350 |
caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] ) |
351 |
libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) |
352 |
alsa? ( >=media-libs/alsa-lib-1.0.19 ) |
353 |
glib? ( >=dev-libs/glib-2.4.0[${MULTILIB_USEDEP}] ) |
354 |
avahi? ( >=net-dns/avahi-0.6.12[dbus] ) |
355 |
jack? ( >=media-sound/jack-audio-connection-kit-0.117 ) |
356 |
tcpd? ( sys-apps/tcp-wrappers[${MULTILIB_USEDEP}] ) |
357 |
lirc? ( app-misc/lirc ) |
358 |
dbus? ( >=sys-apps/dbus-1.0.0[${MULTILIB_USEDEP}] ) |
359 |
gtk? ( x11-libs/gtk+:3 ) |
360 |
gnome? ( >=gnome-base/gconf-2.4.0 ) |
361 |
bluetooth? ( |
362 |
>=net-wireless/bluez-4.99 |
363 |
>=sys-apps/dbus-1.0.0 |
364 |
media-libs/sbc |
365 |
) |
366 |
asyncns? ( net-libs/libasyncns[${MULTILIB_USEDEP}] ) |
367 |
udev? ( >=virtual/udev-143[hwdb(+)] ) |
368 |
realtime? ( sys-auth/rtkit ) |
369 |
equalizer? ( sci-libs/fftw:3.0 ) |
370 |
orc? ( >=dev-lang/orc-0.4.9 ) |
371 |
ssl? ( dev-libs/openssl ) |
372 |
>=media-libs/speex-1.2_rc1 |
373 |
gdbm? ( sys-libs/gdbm ) |
374 |
webrtc-aec? ( media-libs/webrtc-audio-processing ) |
375 |
xen? ( app-emulation/xen ) |
376 |
systemd? ( >=sys-apps/systemd-39 ) |
377 |
dev-libs/json-c[${MULTILIB_USEDEP}] |
378 |
abi_x86_32? ( !<=app-emulation/emul-linux-x86-soundlibs-20131008-r1 |
379 |
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] ) |
380 |
>=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used |
381 |
|
382 |
DEPEND="${RDEPEND} |
383 |
sys-devel/m4 |
384 |
doc? ( app-doc/doxygen ) |
385 |
test? ( dev-libs/check ) |
386 |
X? ( |
387 |
x11-proto/xproto[${MULTILIB_USEDEP}] |
388 |
>=x11-libs/libXtst-1.0.99.2[${MULTILIB_USEDEP}] |
389 |
) |
390 |
dev-libs/libatomic_ops |
391 |
virtual/pkgconfig |
392 |
system-wide? ( || ( dev-util/unifdef sys-freebsd/freebsd-ubin ) ) |
393 |
dev-util/intltool" |
394 |
# This is a PDEPEND to avoid a circular dep |
395 |
PDEPEND="alsa? ( media-plugins/alsa-plugins[pulseaudio] )" |
396 |
|
397 |
# alsa-utils dep is for the alsasound init.d script (see bug #155707) |
398 |
# bluez dep is for the bluetooth init.d script |
399 |
# PyQt4 dep is for the qpaeq script |
400 |
RDEPEND="${RDEPEND} |
401 |
equalizer? ( qt4? ( dev-python/PyQt4[dbus] ) ) |
402 |
X? ( gnome-extra/gnome-audio ) |
403 |
system-wide? ( |
404 |
sys-apps/openrc |
405 |
alsa? ( media-sound/alsa-utils ) |
406 |
bluetooth? ( >=net-wireless/bluez-4 ) |
407 |
)" |
408 |
|
409 |
# See "*** BLUEZ support not found (requires D-Bus)" in configure.ac |
410 |
REQUIRED_USE="bluetooth? ( dbus )" |
411 |
|
412 |
pkg_setup() { |
413 |
enewgroup audio 18 # Just make sure it exists |
414 |
|
415 |
if use system-wide; then |
416 |
enewgroup pulse-access |
417 |
enewgroup pulse |
418 |
enewuser pulse -1 -1 /var/run/pulse pulse,audio |
419 |
fi |
420 |
} |
421 |
|
422 |
src_prepare() { |
423 |
epatch_user |
424 |
} |
425 |
|
426 |
multilib_src_configure() { |
427 |
local myconf=() |
428 |
|
429 |
if use gdbm; then |
430 |
myconf+=( --with-database=gdbm ) |
431 |
#elif use tdb; then |
432 |
# myconf+=( --with-database=tdb ) |
433 |
else |
434 |
myconf+=( --with-database=simple ) |
435 |
fi |
436 |
|
437 |
myconf+=( |
438 |
--enable-largefile |
439 |
$(use_enable glib glib2) |
440 |
--disable-solaris |
441 |
$(use_enable asyncns) |
442 |
$(use_enable oss oss-output) |
443 |
$(use_enable alsa) |
444 |
$(use_enable lirc) |
445 |
$(use_enable neon neon-opt) |
446 |
$(use_enable tcpd tcpwrap) |
447 |
$(use_enable jack) |
448 |
$(use_enable avahi) |
449 |
$(use_enable dbus) |
450 |
$(use_enable gnome gconf) |
451 |
$(use_enable gtk gtk3) |
452 |
$(use_enable libsamplerate samplerate) |
453 |
$(use_enable bluetooth bluez) |
454 |
$(use_enable X x11) |
455 |
$(use_enable test default-build-tests) |
456 |
$(use_enable udev) |
457 |
$(use_enable systemd) |
458 |
$(use_enable ipv6) |
459 |
$(use_enable ssl openssl) |
460 |
$(use_enable webrtc-aec) |
461 |
$(use_enable xen) |
462 |
$(use_with caps) |
463 |
$(use_with equalizer fftw) |
464 |
--disable-adrian-aec |
465 |
--disable-esound |
466 |
--localstatedir="${EPREFIX}"/var |
467 |
--with-udev-rules-dir="${EPREFIX}/$(udev_get_udevdir)"/rules.d |
468 |
) |
469 |
|
470 |
if ! multilib_build_binaries; then |
471 |
# disable all the modules and stuff |
472 |
myconf+=( |
473 |
--disable-oss-output |
474 |
--disable-alsa |
475 |
--disable-lirc |
476 |
--disable-jack |
477 |
--disable-avahi |
478 |
--disable-gconf |
479 |
--disable-gtk3 |
480 |
--disable-samplerate |
481 |
--disable-bluez |
482 |
--disable-udev |
483 |
--disable-systemd |
484 |
--disable-openssl |
485 |
--disable-webrtc-aec |
486 |
--disable-xen |
487 |
--without-fftw |
488 |
|
489 |
# tests involve random modules, so just do them for the native |
490 |
--disable-default-build-tests |
491 |
|
492 |
# hack around unnecessary checks |
493 |
# (results don't matter, we're not building anything using it) |
494 |
ac_cv_lib_ltdl_lt_dladvise_init=yes |
495 |
--with-database=simple |
496 |
) |
497 |
fi |
498 |
|
499 |
ECONF_SOURCE=${S} \ |
500 |
econf "${myconf[@]}" |
501 |
} |
502 |
|
503 |
multilib_src_compile() { |
504 |
if multilib_build_binaries; then |
505 |
emake |
506 |
else |
507 |
emake -C src libpulse{,-simple,-mainloop-glib}.la |
508 |
fi |
509 |
} |
510 |
|
511 |
src_compile() { |
512 |
multilib-minimal_src_compile |
513 |
|
514 |
if use doc; then |
515 |
pushd doxygen |
516 |
doxygen doxygen.conf |
517 |
popd |
518 |
fi |
519 |
} |
520 |
|
521 |
multilib_src_test() { |
522 |
# We avoid running the toplevel check target because that will run |
523 |
# po/'s tests too, and they are broken. Officially, it should work |
524 |
# with intltool 0.41, but that doesn't look like a stable release. |
525 |
if multilib_build_binaries; then |
526 |
emake -C src check |
527 |
fi |
528 |
} |
529 |
|
530 |
multilib_src_install() { |
531 |
if multilib_build_binaries; then |
532 |
emake -j1 DESTDIR="${D}" install |
533 |
else |
534 |
emake DESTDIR="${D}" install-pkgconfigDATA |
535 |
emake DESTDIR="${D}" -C src \ |
536 |
install-libLTLIBRARIES \ |
537 |
lib_LTLIBRARIES="libpulse.la libpulse-simple.la libpulse-mainloop-glib.la" \ |
538 |
install-pulseincludeHEADERS |
539 |
fi |
540 |
} |
541 |
|
542 |
multilib_src_install_all() { |
543 |
# Drop the script entirely if X is disabled |
544 |
use X || rm "${ED}"/usr/bin/start-pulseaudio-x11 |
545 |
|
546 |
if use system-wide; then |
547 |
newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio |
548 |
|
549 |
use_define() { |
550 |
local define=${2:-$(echo $1 | tr '[:lower:]' '[:upper:]')} |
551 |
|
552 |
use "$1" && echo "-D$define" || echo "-U$define" |
553 |
} |
554 |
|
555 |
unifdef $(use_define avahi) \ |
556 |
$(use_define alsa) \ |
557 |
$(use_define bluetooth) \ |
558 |
$(use_define udev) \ |
559 |
"${FILESDIR}/pulseaudio.init.d-5" \ |
560 |
> "${T}/pulseaudio" |
561 |
|
562 |
doinitd "${T}/pulseaudio" |
563 |
fi |
564 |
|
565 |
use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${ED}/etc/pulse/default.pa" |
566 |
|
567 |
dodoc README todo |
568 |
|
569 |
if use doc; then |
570 |
pushd doxygen/html |
571 |
dohtml * |
572 |
popd |
573 |
fi |
574 |
|
575 |
# Create the state directory |
576 |
use prefix || diropts -o pulse -g pulse -m0755 |
577 |
|
578 |
prune_libtool_files --all |
579 |
} |
580 |
|
581 |
pkg_postinst() { |
582 |
if use system-wide; then |
583 |
elog "PulseAudio in Gentoo can use a system-wide pulseaudio daemon." |
584 |
elog "This support is enabled by starting the pulseaudio init.d ." |
585 |
elog "To be able to access that you need to be in the group pulse-access." |
586 |
elog "If you choose to use this feature, please make sure that you" |
587 |
elog "really want to run PulseAudio this way:" |
588 |
elog " http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode" |
589 |
elog "For more information about system-wide support, please refer to:" |
590 |
elog " http://pulseaudio.org/wiki/SystemWideInstance" |
591 |
if use gnome ; then |
592 |
elog |
593 |
elog "By enabling gnome USE flag, you enabled gconf support. Please note" |
594 |
elog "that you might need to remove the gnome USE flag or disable the" |
595 |
elog "gconf module on /etc/pulse/system.pa to be able to use PulseAudio" |
596 |
elog "with a system-wide instance." |
597 |
fi |
598 |
fi |
599 |
if use bluetooth; then |
600 |
elog |
601 |
elog "The Bluetooth proximity module is not enabled in the default" |
602 |
elog "configuration file. If you do enable it, you'll have to have" |
603 |
elog "your Bluetooth controller enabled and inserted at bootup or" |
604 |
elog "PulseAudio will refuse to start." |
605 |
fi |
606 |
if use equalizer && ! use qt4; then |
607 |
elog "You've enabled the 'equalizer' USE-flag but not the 'qt4' USE-flag." |
608 |
elog "This will build the equalizer module, but the 'qpaeq' tool" |
609 |
elog "which is required to set equalizer levels will not work." |
610 |
fi |
611 |
} |