Gentoo Archives: gentoo-commits

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