Gentoo Archives: gentoo-commits

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