Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/pulseaudio/
Date: Fri, 27 Jul 2018 11:50:31
Message-Id: 1532691863.dcdd5a495c0155499e02c5a942ed8ce9bc939f66.leio@gentoo
1 commit: dcdd5a495c0155499e02c5a942ed8ce9bc939f66
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jul 27 09:11:12 2018 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Fri Jul 27 11:44:23 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcdd5a49
7
8 media-sound/pulseaudio: bump to 12.2
9
10 Package-Manager: Portage-2.3.43, Repoman-2.3.10
11
12 media-sound/pulseaudio/Manifest | 1 +
13 media-sound/pulseaudio/pulseaudio-12.2.ebuild | 344 ++++++++++++++++++++++++++
14 2 files changed, 345 insertions(+)
15
16 diff --git a/media-sound/pulseaudio/Manifest b/media-sound/pulseaudio/Manifest
17 index 66578e2d192..3d0bdf2db6d 100644
18 --- a/media-sound/pulseaudio/Manifest
19 +++ b/media-sound/pulseaudio/Manifest
20 @@ -1,3 +1,4 @@
21 DIST pulseaudio-11.1.tar.xz 1648924 BLAKE2B eea767efb6529436a6c2aa7d5ccaccdbda2338ad8db639ad333598b1589d259acf71ef34e904a240710f5343864fa868789eaa7f7cae1b07902ebd989fe83e12 SHA512 8863d8d7aede0d9a4d158e84e7bece91747c335f9ac98c7b21fafe76b762f8817e1125307aa46e561e540d2c40525e91f51a55ec34ac55d58fd5980199856a7a
22 DIST pulseaudio-11.99.1.tar.xz 1655948 BLAKE2B 33d774bbcb2cf4a1d457e2cecfae007a75acc5c8ba188c5f2fbce773cf3fb67c9c345538584014898f42b3ff7c6e680c9660ff07f7d74630f711f85d9c514d2c SHA512 f9340f836bd12756ddb30e27bb04f8470a97ec372f5d9a2703da3ac348436b7b3efe074635c5a994cc6cd77c7f18aa2d74811c7e12bc52c0578fd15f8dffaab8
23 DIST pulseaudio-12.0.tar.xz 1657212 BLAKE2B b38bdeec21c336d7435b1ae895eb50b164d513f4b15d5c6b559df457722da02484072d3beb8874c3690efd1ddff1e13966ab5501d1e9418683461ca977b2c6fb SHA512 e9b02522f1e9cc2cf2e9db3364153fff5bc70561df34bc8e254e373a24c45585c1c722de8b6ebd7cd1814f523cf29b67c6940390a6fcc1ccbdde5aeff48f8d8c
24 +DIST pulseaudio-12.2.tar.xz 1665092 BLAKE2B 2e36efc5142c1e379cc2b135f4126f03a31831b26efe60f7cdf128af6e23fab25706a5609644d0b387530021055f87525fe60d527cd3a087f51bfd58e810644f SHA512 877754c1838b3cb042dbc18a5f1cc3cf313ffcaee7a64703330406d1f86279c34f1107634ac3083b158365e6757fbacf5ec406bc3c5788d291de67b77a561a4e
25
26 diff --git a/media-sound/pulseaudio/pulseaudio-12.2.ebuild b/media-sound/pulseaudio/pulseaudio-12.2.ebuild
27 new file mode 100644
28 index 00000000000..9279212c9ae
29 --- /dev/null
30 +++ b/media-sound/pulseaudio/pulseaudio-12.2.ebuild
31 @@ -0,0 +1,344 @@
32 +# Copyright 1999-2018 Gentoo Foundation
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=6
36 +inherit autotools bash-completion-r1 flag-o-matic gnome2-utils linux-info systemd user udev multilib-minimal
37 +
38 +DESCRIPTION="A networked sound server with an advanced plugin system"
39 +HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/"
40 +SRC_URI="https://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 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
50 +
51 +# +alsa-plugin as discussed in bug #519530
52 +IUSE="+alsa +alsa-plugin +asyncns bluetooth +caps dbus doc equalizer gconf +gdbm
53 ++glib gtk ipv6 jack libsamplerate libressl lirc native-headset neon ofono-headset
54 ++orc oss qt5 realtime selinux sox ssl systemd system-wide tcpd test +udev
55 ++webrtc-aec +X zeroconf"
56 +
57 +# See "*** BLUEZ support not found (requires D-Bus)" in configure.ac
58 +REQUIRED_USE="
59 + bluetooth? ( dbus )
60 + equalizer? ( dbus )
61 + ofono-headset? ( bluetooth )
62 + native-headset? ( bluetooth )
63 + udev? ( || ( alsa oss ) )
64 +"
65 +
66 +# libpcre needed in some cases, bug #472228
67 +CDEPEND="
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.26.0:2[${MULTILIB_USEDEP}] )
85 + zeroconf? ( >=net-dns/avahi-0.6.12[dbus] )
86 + jack? ( virtual/jack )
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 + bluetooth? (
92 + >=net-wireless/bluez-5
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? (
104 + !libressl? ( dev-libs/openssl:0= )
105 + libressl? ( dev-libs/libressl:= )
106 + )
107 + media-libs/speexdsp
108 + gdbm? ( sys-libs/gdbm:= )
109 + webrtc-aec? ( >=media-libs/webrtc-audio-processing-0.2 )
110 + systemd? ( sys-apps/systemd:0=[${MULTILIB_USEDEP}] )
111 + dev-libs/libltdl:0
112 + selinux? ( sec-policy/selinux-pulseaudio )
113 +"
114 +# it's a valid RDEPEND, libltdl.so is used for native abi
115 +RDEPEND="${CDEPEND}
116 + gconf? ( >=gnome-base/gconf-3.2.6 )
117 +"
118 +
119 +DEPEND="${RDEPEND}
120 + sys-devel/m4
121 + doc? ( app-doc/doxygen )
122 + test? ( >=dev-libs/check-0.9.10 )
123 + X? (
124 + x11-base/xorg-proto
125 + >=x11-libs/libXtst-1.0.99.2[${MULTILIB_USEDEP}]
126 + )
127 + dev-libs/libatomic_ops
128 + virtual/pkgconfig
129 + system-wide? ( || ( dev-util/unifdef sys-freebsd/freebsd-ubin ) )
130 + dev-util/intltool
131 + >=sys-devel/gettext-0.18.1
132 +"
133 +# This is a PDEPEND to avoid a circular dep
134 +PDEPEND="
135 + alsa? ( alsa-plugin? ( >=media-plugins/alsa-plugins-1.0.27-r1[pulseaudio,${MULTILIB_USEDEP}] ) )
136 +"
137 +
138 +# alsa-utils dep is for the alsasound init.d script (see bug #155707)
139 +# bluez dep is for the bluetooth init.d script
140 +# PyQt5 dep is for the qpaeq script
141 +RDEPEND="${RDEPEND}
142 + equalizer? ( qt5? ( dev-python/PyQt5[dbus,widgets] ) )
143 + system-wide? (
144 + alsa? ( media-sound/alsa-utils )
145 + bluetooth? ( >=net-wireless/bluez-5 )
146 + )
147 +"
148 +
149 +PATCHES=(
150 + "${FILESDIR}"/pulseaudio-11.1-disable-flat-volumes.patch # bug 627894
151 +)
152 +
153 +pkg_pretend() {
154 + CONFIG_CHECK="~HIGH_RES_TIMERS"
155 + WARNING_HIGH_RES_TIMERS="CONFIG_HIGH_RES_TIMERS:\tis not set (required for enabling timer-based scheduling in pulseaudio)\n"
156 + check_extra_config
157 +
158 + if linux_config_exists; then
159 + local snd_hda_prealloc_size=$(linux_chkconfig_string SND_HDA_PREALLOC_SIZE)
160 + if [ -n "${snd_hda_prealloc_size}" ] && [ "${snd_hda_prealloc_size}" -lt 2048 ]; then
161 + ewarn "A preallocated buffer-size of 2048 (kB) or higher is recommended for the HD-audio driver!"
162 + ewarn "CONFIG_SND_HDA_PREALLOC_SIZE=${snd_hda_prealloc_size}"
163 + fi
164 + fi
165 +}
166 +
167 +pkg_setup() {
168 + linux-info_pkg_setup
169 + gnome2_environment_reset #543364
170 +
171 + enewgroup audio 18 # Just make sure it exists
172 +
173 + if use system-wide; then
174 + enewgroup pulse-access
175 + enewgroup pulse
176 + enewuser pulse -1 -1 /var/run/pulse pulse,audio
177 + fi
178 +}
179 +
180 +src_prepare() {
181 + default
182 +
183 + # Skip test that cannot work with sandbox, bug #501846
184 + sed -i -e '/lock-autospawn-test/d' src/Makefile.am || die
185 +
186 + eautoreconf
187 +}
188 +
189 +multilib_src_configure() {
190 + local myconf=(
191 + --disable-adrian-aec
192 + --disable-bluez4
193 + --disable-esound
194 + --disable-gconf
195 + --disable-solaris
196 + --enable-largefile
197 + --localstatedir="${EPREFIX}"/var
198 + --with-systemduserunitdir=$(systemd_get_userunitdir)
199 + --with-udev-rules-dir="${EPREFIX}/$(get_udevdir)"/rules.d
200 + $(multilib_native_use_enable alsa)
201 + $(multilib_native_use_enable bluetooth bluez5)
202 + $(multilib_native_use_enable glib gsettings)
203 + $(multilib_native_use_enable gtk gtk3)
204 + $(multilib_native_use_enable jack)
205 + $(multilib_native_use_enable libsamplerate samplerate)
206 + $(multilib_native_use_enable lirc)
207 + $(multilib_native_use_enable orc)
208 + $(multilib_native_use_enable oss oss-output)
209 + $(multilib_native_use_enable ssl openssl)
210 + # tests involve random modules, so just do them for the native
211 + $(multilib_native_use_enable test default-build-tests)
212 + $(multilib_native_use_enable udev)
213 + $(multilib_native_use_enable webrtc-aec)
214 + $(multilib_native_use_enable zeroconf avahi)
215 + $(multilib_native_use_with equalizer fftw)
216 + $(multilib_native_use_with sox soxr)
217 + $(multilib_native_usex gdbm '--with-database=gdbm' '--with-database=simple')
218 + $(use_enable glib glib2)
219 + $(use_enable asyncns)
220 + $(use_enable neon neon-opt)
221 + $(use_enable tcpd tcpwrap)
222 + $(use_enable dbus)
223 + $(use_enable X x11)
224 + $(use_enable systemd systemd-daemon)
225 + $(use_enable systemd systemd-login)
226 + $(use_enable systemd systemd-journal)
227 + $(use_enable ipv6)
228 + $(use_with caps)
229 + )
230 +
231 + if use bluetooth; then
232 + myconf+=(
233 + $(multilib_native_use_enable native-headset bluez5-native-headset)
234 + $(multilib_native_use_enable ofono-headset bluez5-ofono-headset)
235 + )
236 + fi
237 +
238 + if ! multilib_is_native_abi; then
239 + myconf+=(
240 + # hack around unnecessary checks
241 + # (results don't matter, we're not building anything using it)
242 + ac_cv_lib_ltdl_lt_dladvise_init=yes
243 + LIBSPEEX_CFLAGS=' '
244 + LIBSPEEX_LIBS=' '
245 + )
246 + fi
247 +
248 + ECONF_SOURCE=${S} \
249 + econf "${myconf[@]}"
250 +}
251 +
252 +multilib_src_compile() {
253 + if multilib_is_native_abi; then
254 + emake
255 + use doc && emake doxygen
256 + else
257 + local targets=( libpulse.la libpulsedsp.la libpulse-simple.la )
258 + use glib && targets+=( libpulse-mainloop-glib.la )
259 + emake -C src ${targets[*]}
260 + fi
261 +}
262 +
263 +multilib_src_test() {
264 + # We avoid running the toplevel check target because that will run
265 + # po/'s tests too, and they are broken. Officially, it should work
266 + # with intltool 0.41, but that doesn't look like a stable release.
267 + if multilib_is_native_abi; then
268 + emake -C src check
269 + fi
270 +}
271 +
272 +multilib_src_install() {
273 + if multilib_is_native_abi; then
274 + emake -j1 DESTDIR="${D}" bashcompletiondir="$(get_bashcompdir)" install
275 + if use doc ; then
276 + docinto html
277 + dodoc -r doxygen/html/
278 + fi
279 + else
280 + local targets=( libpulse.la libpulse-simple.la )
281 + use glib && targets+=( libpulse-mainloop-glib.la )
282 + emake DESTDIR="${D}" install-pkgconfigDATA
283 + emake DESTDIR="${D}" -C src \
284 + install-libLTLIBRARIES \
285 + install-padsplibLTLIBRARIES \
286 + lib_LTLIBRARIES="${targets[*]}" \
287 + install-pulseincludeHEADERS
288 + fi
289 +}
290 +
291 +multilib_src_install_all() {
292 + if use system-wide; then
293 + newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio
294 +
295 + use_define() {
296 + local define=${2:-$(echo $1 | tr '[:lower:]' '[:upper:]')}
297 +
298 + use "$1" && echo "-D$define" || echo "-U$define"
299 + }
300 +
301 + unifdef $(use_define zeroconf AVAHI) \
302 + $(use_define alsa) \
303 + $(use_define bluetooth) \
304 + $(use_define udev) \
305 + "${FILESDIR}/pulseaudio.init.d-5" \
306 + > "${T}/pulseaudio"
307 +
308 + doinitd "${T}/pulseaudio"
309 +
310 + systemd_dounit "${FILESDIR}/${PN}.service"
311 +
312 + # We need /var/run/pulse, bug #442852
313 + systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles" "${PN}.conf"
314 + else
315 + # Prevent warnings when system-wide is not used, bug #447694
316 + if use dbus ; then
317 + rm "${ED%/}"/etc/dbus-1/system.d/pulseaudio-system.conf || die
318 + fi
319 + fi
320 +
321 + if use zeroconf ; then
322 + sed -e '/module-zeroconf-publish/s:^#::' \
323 + -i "${ED%/}/etc/pulse/default.pa" || die
324 + fi
325 +
326 + dodoc NEWS README todo
327 +
328 + # Create the state directory
329 + use prefix || diropts -o pulse -g pulse -m0755
330 +
331 + find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die
332 +}
333 +
334 +pkg_postinst() {
335 + gnome2_schemas_update
336 + if use system-wide; then
337 + elog "You have enabled the 'system-wide' USE flag for pulseaudio."
338 + elog "This mode should only be used on headless servers, embedded systems,"
339 + elog "or thin clients. It will usually require manual configuration, and is"
340 + elog "incompatible with many expected pulseaudio features."
341 + elog "On normal desktop systems, system-wide mode is STRONGLY DISCOURAGED."
342 + elog "For more information, see"
343 + elog " https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/"
344 + elog " https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/"
345 + elog " https://wiki.gentoo.org/wiki/PulseAudio#Headless_server"
346 + fi
347 +
348 + if use equalizer && ! use qt5; then
349 + elog "You've enabled the 'equalizer' USE-flag but not the 'qt5' USE-flag."
350 + elog "This will build the equalizer module, but the 'qpaeq' tool"
351 + elog "which is required to set equalizer levels will not work."
352 + fi
353 +
354 + if use equalizer && use qt5; then
355 + elog "You will need to load some extra modules to make qpaeq work."
356 + elog "You can do that by adding the following two lines in"
357 + elog "/etc/pulse/default.pa and restarting pulseaudio:"
358 + elog "load-module module-equalizer-sink"
359 + elog "load-module module-dbus-protocol"
360 + fi
361 +
362 + if use native-headset && use ofono-headset; then
363 + elog "You have enabled both native and ofono headset profiles. The runtime decision"
364 + elog "which to use is done via the 'headset' argument of module-bluetooth-discover."
365 + fi
366 +
367 + if use libsamplerate; then
368 + elog "The libsamplerate based resamplers are now deprecated, because they offer no"
369 + elog "particular advantage over speex. Upstream suggests disabling them."
370 + fi
371 +}
372 +
373 +pkg_postrm() {
374 + gnome2_schemas_update
375 +}