Gentoo Archives: gentoo-commits

From: Pacho Ramos <pacho@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/pulseaudio/
Date: Thu, 24 Sep 2015 18:30:55
Message-Id: 1443119391.44309bf75965c1c5bea48e6e94ec11724709c8e4.pacho@gentoo
1 commit: 44309bf75965c1c5bea48e6e94ec11724709c8e4
2 Author: Pacho Ramos <pacho <AT> gentoo <DOT> org>
3 AuthorDate: Thu Sep 24 18:29:51 2015 +0000
4 Commit: Pacho Ramos <pacho <AT> gentoo <DOT> org>
5 CommitDate: Thu Sep 24 18:29:51 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44309bf7
7
8 media-sound/pulseaudio: Version bump (#560350 by mrueg), fix doxygen building/installation (#530114 by jer).
9
10 Package-Manager: portage-2.2.20.1
11
12 media-sound/pulseaudio/Manifest | 1 +
13 media-sound/pulseaudio/pulseaudio-7.0.ebuild | 368 +++++++++++++++++++++++++++
14 2 files changed, 369 insertions(+)
15
16 diff --git a/media-sound/pulseaudio/Manifest b/media-sound/pulseaudio/Manifest
17 index 3dfc27a..6c71bd7 100644
18 --- a/media-sound/pulseaudio/Manifest
19 +++ b/media-sound/pulseaudio/Manifest
20 @@ -1,2 +1,3 @@
21 DIST pulseaudio-5.0.tar.xz 1455428 SHA256 99c13a8b1249ddbd724f195579df79484e9af6418cecf6a15f003a7f36caf939 SHA512 f3d64bd6e03a732fd812da466b6658004600b4f3d0b9760403b7e113b6d654d54387658bf3704f45f28ab700245433e23fe517e4579130886fc58647eb97be2b WHIRLPOOL c85829c78ded3bbef234e455bfd3778f2daf50de9d7627508dbf131d0c398e35ab3ae41a4b5136f0c0da09249bc9a600ad85d848ba4e1faba74875af0a787036
22 DIST pulseaudio-6.0.tar.xz 1469248 SHA256 b50640e0b80b1607600accfad2e45aabb79d379bf6354c9671efa2065477f6f6 SHA512 4f2293b41c8278047a41be4609a6bc267766874001092a91e785b05d5224fd82810862402942dadbb54bed7f74689779c958ca512666dfe6755d29551583cc2d WHIRLPOOL d75724f2ada640dabd256dc9e9840def17e78f63116c31df711d266349e9f4b99efbc797a5108649c860a5bf8ec8199383eaede440d8b4b655ef09f4ce37984f
23 +DIST pulseaudio-7.0.tar.xz 1505864 SHA256 ca1ae1377e8926bfc3ffe2aeb9f657f6c363a16f72861166fcf9454e3eeae8fa SHA512 d5d6444df5429dd9f57c7653b1aebd6e257f5568511275cde087948f13fa6995ed41f8562d437bf30110a0c7fbd000d730925b6c0322d33d4ad8b82ed64393ae WHIRLPOOL d527530e9b4f1148990f0c7f197421573275fb2cc6c1952d0ad41f41421ce346bea1b6910455f79a0e83e1d7d3692a3d19b5ecaaab642183857282378f5701bc
24
25 diff --git a/media-sound/pulseaudio/pulseaudio-7.0.ebuild b/media-sound/pulseaudio/pulseaudio-7.0.ebuild
26 new file mode 100644
27 index 0000000..a441fda
28 --- /dev/null
29 +++ b/media-sound/pulseaudio/pulseaudio-7.0.ebuild
30 @@ -0,0 +1,368 @@
31 +# Copyright 1999-2015 Gentoo Foundation
32 +# Distributed under the terms of the GNU General Public License v2
33 +# $Id$
34 +
35 +EAPI=5
36 +inherit autotools bash-completion-r1 eutils flag-o-matic gnome2-utils linux-info readme.gentoo systemd user versionator udev multilib-minimal
37 +
38 +DESCRIPTION="A networked sound server with an advanced plugin system"
39 +HOMEPAGE="http://www.pulseaudio.org/"
40 +SRC_URI="http://freedesktop.org/software/pulseaudio/releases/${P}.tar.xz"
41 +
42 +# libpulse-simple and libpulse link to libpulse-core; this is daemon's
43 +# library and can link to gdbm and other GPL-only libraries. In this
44 +# cases, we have a fully GPL-2 package. Leaving the rest of the
45 +# GPL-forcing USE flags for those who use them.
46 +LICENSE="!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 )"
47 +
48 +SLOT="0"
49 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
50 +
51 +# +alsa-plugin as discussed in bug #519530
52 +IUSE="+alsa +alsa-plugin +asyncns bluetooth +caps dbus doc equalizer +gdbm +glib
53 +gnome gtk ipv6 jack libsamplerate lirc native-headset neon ofono-headset
54 ++orc oss qt4 realtime selinux sox ssl systemd system-wide tcpd test +udev
55 ++webrtc-aec +X xen zeroconf"
56 +
57 +# See "*** BLUEZ support not found (requires D-Bus)" in configure.ac
58 +REQUIRED_USE="
59 + bluetooth? ( dbus )
60 + ofono-headset? ( bluetooth )
61 + native-headset? ( bluetooth )
62 + udev? ( || ( alsa oss ) )
63 +"
64 +
65 +# libpcre needed in some cases, bug #472228
66 +RDEPEND="
67 + || (
68 + elibc_glibc? ( virtual/libc )
69 + elibc_uclibc? ( virtual/libc )
70 + dev-libs/libpcre
71 + )
72 + >=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}]
73 + X? (
74 + >=x11-libs/libX11-1.4.0[${MULTILIB_USEDEP}]
75 + >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
76 + x11-libs/libSM[${MULTILIB_USEDEP}]
77 + x11-libs/libICE[${MULTILIB_USEDEP}]
78 + x11-libs/libXtst[${MULTILIB_USEDEP}]
79 + )
80 + caps? ( >=sys-libs/libcap-2.22-r2[${MULTILIB_USEDEP}] )
81 + libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 )
82 + alsa? ( >=media-libs/alsa-lib-1.0.19 )
83 + glib? ( >=dev-libs/glib-2.4.0:2[${MULTILIB_USEDEP}] )
84 + zeroconf? ( >=net-dns/avahi-0.6.12[dbus] )
85 + jack? ( >=media-sound/jack-audio-connection-kit-0.117 )
86 + tcpd? ( sys-apps/tcp-wrappers[${MULTILIB_USEDEP}] )
87 + lirc? ( app-misc/lirc )
88 + dbus? ( >=sys-apps/dbus-1.0.0[${MULTILIB_USEDEP}] )
89 + gtk? ( x11-libs/gtk+:3 )
90 + gnome? ( >=gnome-base/gconf-2.4.0 )
91 + bluetooth? (
92 + net-wireless/bluez:=
93 + >=sys-apps/dbus-1.0.0
94 + media-libs/sbc
95 + )
96 + asyncns? ( net-libs/libasyncns[${MULTILIB_USEDEP}] )
97 + udev? ( >=virtual/udev-143[hwdb(+)] )
98 + realtime? ( sys-auth/rtkit )
99 + equalizer? ( sci-libs/fftw:3.0 )
100 + ofono-headset? ( >=net-misc/ofono-1.13 )
101 + orc? ( >=dev-lang/orc-0.4.15 )
102 + sox? ( >=media-libs/soxr-0.1.1 )
103 + ssl? ( dev-libs/openssl:0 )
104 + >=media-libs/speex-1.2_rc1
105 + gdbm? ( sys-libs/gdbm )
106 + webrtc-aec? ( media-libs/webrtc-audio-processing )
107 + xen? ( app-emulation/xen-tools )
108 + systemd? ( sys-apps/systemd:0=[${MULTILIB_USEDEP}] )
109 + >=dev-libs/json-c-0.11[${MULTILIB_USEDEP}]
110 + abi_x86_32? ( !<=app-emulation/emul-linux-x86-soundlibs-20131008-r1
111 + !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] )
112 + dev-libs/libltdl:0
113 + selinux? ( sec-policy/selinux-pulseaudio )
114 +"
115 +# it's a valid RDEPEND, libltdl.so is used for native abi
116 +
117 +DEPEND="${RDEPEND}
118 + sys-devel/m4
119 + doc? ( app-doc/doxygen )
120 + test? ( dev-libs/check )
121 + X? (
122 + x11-proto/xproto[${MULTILIB_USEDEP}]
123 + >=x11-libs/libXtst-1.0.99.2[${MULTILIB_USEDEP}]
124 + )
125 + dev-libs/libatomic_ops
126 + virtual/pkgconfig
127 + system-wide? ( || ( dev-util/unifdef sys-freebsd/freebsd-ubin ) )
128 + dev-util/intltool
129 + >=sys-devel/gettext-0.18.1
130 +"
131 +# This is a PDEPEND to avoid a circular dep
132 +PDEPEND="
133 + alsa? ( alsa-plugin? ( >=media-plugins/alsa-plugins-1.0.27-r1[pulseaudio,${MULTILIB_USEDEP}] ) )
134 +"
135 +
136 +# alsa-utils dep is for the alsasound init.d script (see bug #155707)
137 +# bluez dep is for the bluetooth init.d script
138 +# PyQt4 dep is for the qpaeq script
139 +RDEPEND="${RDEPEND}
140 + equalizer? ( qt4? ( dev-python/PyQt4[dbus] ) )
141 + system-wide? (
142 + alsa? ( media-sound/alsa-utils )
143 + bluetooth? ( net-wireless/bluez:= )
144 + )
145 +"
146 +
147 +pkg_pretend() {
148 + CONFIG_CHECK="~HIGH_RES_TIMERS"
149 + WARNING_HIGH_RES_TIMERS="CONFIG_HIGH_RES_TIMERS:\tis not set (required for enabling timer-based scheduling in pulseaudio)\n"
150 + check_extra_config
151 +
152 + if linux_config_exists; then
153 + local snd_hda_prealloc_size=$(linux_chkconfig_string SND_HDA_PREALLOC_SIZE)
154 + if [ -n "${snd_hda_prealloc_size}" ] && [ "${snd_hda_prealloc_size}" -lt 2048 ]; then
155 + ewarn "A preallocated buffer-size of 2048 (kB) or higher is recommended for the HD-audio driver!"
156 + ewarn "CONFIG_SND_HDA_PREALLOC_SIZE=${snd_hda_prealloc_size}"
157 + fi
158 + fi
159 +}
160 +
161 +pkg_setup() {
162 + linux-info_pkg_setup
163 + gnome2_environment_reset #543364
164 +
165 + enewgroup audio 18 # Just make sure it exists
166 +
167 + if use system-wide; then
168 + enewgroup pulse-access
169 + enewgroup pulse
170 + enewuser pulse -1 -1 /var/run/pulse pulse,audio
171 + fi
172 +}
173 +
174 +src_prepare() {
175 + # Skip test that cannot work with sandbox, bug #501846
176 + sed -i -e '/lock-autospawn-test/d' src/Makefile.am || die
177 +
178 + epatch_user
179 + eautoreconf
180 +}
181 +
182 +multilib_src_configure() {
183 + local myconf=()
184 +
185 + if use gdbm; then
186 + myconf+=( --with-database=gdbm )
187 + else
188 + myconf+=( --with-database=simple )
189 + fi
190 +
191 + if use bluetooth; then
192 + if multilib_is_native_abi; then
193 + if has_version '<net-wireless/bluez-5'; then
194 + myconf+=( --disable-bluez5 --enable-bluez4 )
195 + else
196 + myconf+=( --enable-bluez5 --disable-bluez4
197 + $(use_enable native-headset bluez5-native-headset)
198 + $(use_enable ofono-headset bluez5-ofono-headset) )
199 + fi
200 + fi
201 + else
202 + myconf+=( --disable-bluez5 --disable-bluez4 )
203 + fi
204 +
205 + myconf+=(
206 + --enable-largefile
207 + $(use_enable glib glib2)
208 + --disable-solaris
209 + $(use_enable asyncns)
210 + $(use_enable oss oss-output)
211 + $(use_enable alsa)
212 + $(use_enable lirc)
213 + $(use_enable neon neon-opt)
214 + $(use_enable tcpd tcpwrap)
215 + $(use_enable jack)
216 + $(use_enable zeroconf avahi)
217 + $(use_enable dbus)
218 + $(use_enable gnome gconf)
219 + $(use_enable gtk gtk3)
220 + $(use_enable libsamplerate samplerate)
221 + $(use_enable orc)
222 + $(use_enable X x11)
223 + $(use_enable test default-build-tests)
224 + $(use_enable udev)
225 + $(use_with sox soxr)
226 + $(use_enable systemd systemd-daemon)
227 + $(use_enable systemd systemd-login)
228 + $(use_enable systemd systemd-journal)
229 + $(use_enable ipv6)
230 + $(use_enable ssl openssl)
231 + $(use_enable webrtc-aec)
232 + $(use_enable xen)
233 + $(use_with caps)
234 + $(use_with equalizer fftw)
235 + --disable-adrian-aec
236 + --disable-esound
237 + --localstatedir="${EPREFIX}"/var
238 + --with-udev-rules-dir="${EPREFIX}/$(get_udevdir)"/rules.d
239 + --with-systemduserunitdir=$(systemd_get_userunitdir)
240 + )
241 +
242 + if ! multilib_is_native_abi; then
243 + # disable all the modules and stuff
244 + myconf+=(
245 + --disable-oss-output
246 + --disable-alsa
247 + --disable-lirc
248 + --disable-jack
249 + --disable-avahi
250 + --disable-gconf
251 + --disable-gtk3
252 + --disable-samplerate
253 + --disable-bluez4
254 + --disable-bluez5
255 + --disable-udev
256 + --disable-openssl
257 + --disable-orc
258 + --disable-webrtc-aec
259 + --disable-xen
260 + --without-fftw
261 + --without-soxr
262 +
263 + # tests involve random modules, so just do them for the native
264 + --disable-default-build-tests
265 +
266 + # hack around unnecessary checks
267 + # (results don't matter, we're not building anything using it)
268 + ac_cv_lib_ltdl_lt_dladvise_init=yes
269 + --with-database=simple
270 + LIBSPEEX_CFLAGS=' '
271 + LIBSPEEX_LIBS=' '
272 + )
273 + fi
274 +
275 + ECONF_SOURCE=${S} \
276 + econf "${myconf[@]}"
277 +}
278 +
279 +multilib_src_compile() {
280 + if multilib_is_native_abi; then
281 + emake
282 + use doc && emake doxygen
283 + else
284 + local targets=( libpulse.la libpulse-simple.la )
285 + use glib && targets+=( libpulse-mainloop-glib.la )
286 + emake -C src libpulse{,dsp,-simple,-mainloop-glib}.la
287 + fi
288 +}
289 +
290 +multilib_src_test() {
291 + # We avoid running the toplevel check target because that will run
292 + # po/'s tests too, and they are broken. Officially, it should work
293 + # with intltool 0.41, but that doesn't look like a stable release.
294 + if multilib_is_native_abi; then
295 + emake -C src check
296 + fi
297 +}
298 +
299 +multilib_src_install() {
300 + if multilib_is_native_abi; then
301 + emake -j1 DESTDIR="${D}" bashcompletiondir="$(get_bashcompdir)" install
302 + use doc && dohtml -r doxygen/html/
303 + else
304 + local targets=( libpulse.la libpulse-simple.la )
305 + use glib && targets+=( libpulse-mainloop-glib.la )
306 + emake DESTDIR="${D}" install-pkgconfigDATA
307 + emake DESTDIR="${D}" -C src \
308 + install-libLTLIBRARIES \
309 + install-padsplibLTLIBRARIES \
310 + lib_LTLIBRARIES="${targets[*]}" \
311 + install-pulseincludeHEADERS
312 + fi
313 +}
314 +
315 +multilib_src_install_all() {
316 + # Drop the script entirely if X is disabled
317 + use X || rm "${ED}"/usr/bin/start-pulseaudio-x11
318 +
319 + if use system-wide; then
320 + newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio
321 +
322 + use_define() {
323 + local define=${2:-$(echo $1 | tr '[:lower:]' '[:upper:]')}
324 +
325 + use "$1" && echo "-D$define" || echo "-U$define"
326 + }
327 +
328 + unifdef $(use_define zeroconf AVAHI) \
329 + $(use_define alsa) \
330 + $(use_define bluetooth) \
331 + $(use_define udev) \
332 + "${FILESDIR}/pulseaudio.init.d-5" \
333 + > "${T}/pulseaudio"
334 +
335 + doinitd "${T}/pulseaudio"
336 +
337 + systemd_dounit "${FILESDIR}/${PN}.service"
338 + fi
339 +
340 + use zeroconf && sed -i -e '/module-zeroconf-publish/s:^#::' "${ED}/etc/pulse/default.pa"
341 +
342 + dodoc NEWS README todo
343 +
344 + # Create the state directory
345 + use prefix || diropts -o pulse -g pulse -m0755
346 +
347 + # We need /var/run/pulse, bug #442852
348 + use system-wide && systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles" "${PN}.conf"
349 +
350 + # Prevent warnings when system-wide is not used, bug #447694
351 + use system-wide || rm "${ED}"/etc/dbus-1/system.d/pulseaudio-system.conf
352 +
353 + prune_libtool_files --all
354 +}
355 +
356 +pkg_postinst() {
357 + if use system-wide; then
358 + elog "You have enabled the 'system-wide' USE flag for pulseaudio."
359 + elog "This mode should only be used on headless servers, embedded systems,"
360 + elog "or thin clients. It will usually require manual configuration, and is"
361 + elog "incompatible with many expected pulseaudio features."
362 + elog "On normal desktop systems, system-wide mode is STRONGLY DISCOURAGED."
363 + elog "For more information, see"
364 + elog " http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/"
365 + elog " http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/"
366 + elog " https://wiki.gentoo.org/wiki/PulseAudio#Headless_server"
367 + if use gnome ; then
368 + elog
369 + elog "By enabling gnome USE flag, you enabled gconf support. Please note"
370 + elog "that you might need to remove the gnome USE flag or disable the"
371 + elog "gconf module on /etc/pulse/system.pa to be able to use PulseAudio"
372 + elog "with a system-wide instance."
373 + fi
374 + fi
375 +
376 + if use equalizer && ! use qt4; then
377 + elog "You've enabled the 'equalizer' USE-flag but not the 'qt4' USE-flag."
378 + elog "This will build the equalizer module, but the 'qpaeq' tool"
379 + elog "which is required to set equalizer levels will not work."
380 + fi
381 +
382 + if use native-headset && use ofono-headset; then
383 + elog "You have enabled both native and ofono headset profiles. The runtime decision"
384 + elog "which to use is done via the 'headset' argument of module-bluetooth-discover."
385 + fi
386 +
387 + if use libsamplerate; then
388 + elog "The libsamplerate based resamplers are now deprecated, because they offer no"
389 + elog "particular advantage over speex. Upstream suggests disabling them."
390 + fi
391 +
392 + # Needed for pulseaudio-6.0 update from older versions
393 + if use udev; then
394 + if ! version_is_at_least 6.0 ${REPLACING_VERSIONS}; then
395 + udevadm control --reload && udevadm trigger
396 + fi
397 + fi
398 +}