From 10b61dc8872a9ba034771bd9b793e452fd428363 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 31 Jul 2022 04:39:14 +0100 Subject: media-sound/pulseaudio-daemon: drop 16.0-r4, 16.0-r5 Signed-off-by: Sam James --- ...udio-16.0-fix-combine-sink-underrun-crash.patch | 72 ---- ...io-16.0-fix-gstreamer-bluetooth-arm-crash.patch | 43 --- ...pulseaudio-16.0-fix-pacmd-play-file-crash.patch | 42 --- ...lseaudio-16.0-fix-rtp-receiver-sdp-record.patch | 26 -- .../pulseaudio-daemon-16.0-r4.ebuild | 388 -------------------- .../pulseaudio-daemon-16.0-r5.ebuild | 396 --------------------- 6 files changed, 967 deletions(-) delete mode 100644 media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-combine-sink-underrun-crash.patch delete mode 100644 media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-gstreamer-bluetooth-arm-crash.patch delete mode 100644 media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-pacmd-play-file-crash.patch delete mode 100644 media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-rtp-receiver-sdp-record.patch delete mode 100644 media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r4.ebuild delete mode 100644 media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r5.ebuild (limited to 'media-sound/pulseaudio-daemon') diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-combine-sink-underrun-crash.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-combine-sink-underrun-crash.patch deleted file mode 100644 index d66d75afdfda..000000000000 --- a/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-combine-sink-underrun-crash.patch +++ /dev/null @@ -1,72 +0,0 @@ -https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/ee8bfb49adddd271d8a8cafa796c6f9fa84de48a - -From ee8bfb49adddd271d8a8cafa796c6f9fa84de48a Mon Sep 17 00:00:00 2001 -From: Georg Chini -Date: Fri, 17 Jun 2022 13:11:11 +0200 -Subject: [PATCH] combine-sink: Fix threading issue during underrun - -A recent commit added i->origin sink for the sink inputs of the combine sinks. -Therefore pa_sink_process_input_underruns() treated the combine sink like -filter sinks. pa_sink_process_input_underruns() calls itself with the -origin sink, which is only correct for filter sinks because they run in the -thread context of the origin sink. The combine sink however has its own -thread context, so pa_sink_process_input_underruns() was executed in the -wrong context. -This patch fixes the issue by skipping the section for module-combine-sink. - -Part-of: ---- - src/pulsecore/sink.c | 37 +++++++++++++++++++++++-------------- - 1 file changed, 23 insertions(+), 14 deletions(-) - -diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c -index 3108ae765..0f0dc56fc 100644 ---- a/src/pulsecore/sink.c -+++ b/src/pulsecore/sink.c -@@ -1016,20 +1016,29 @@ size_t pa_sink_process_input_underruns(pa_sink *s, size_t left_to_play) { - if (i->origin_sink) { - size_t filter_result, left_to_play_origin; - -- /* The recursive call works in the origin sink domain ... */ -- left_to_play_origin = pa_convert_size(left_to_play, &i->sink->sample_spec, &i->origin_sink->sample_spec); -- -- /* .. and returns the time to sleep before waking up. We need the -- * underrun duration for comparisons, so we undo the subtraction on -- * the return value... */ -- filter_result = left_to_play_origin - pa_sink_process_input_underruns(i->origin_sink, left_to_play_origin); -- -- /* ... and convert it back to the master sink domain */ -- filter_result = pa_convert_size(filter_result, &i->origin_sink->sample_spec, &i->sink->sample_spec); -- -- /* Remember the longest underrun so far */ -- if (filter_result > result) -- result = filter_result; -+ /* The combine sink sets i->origin sink but has a different threading model -+ * than the filter sinks. Therefore the recursion below may not be executed -+ * because pa_sink_process_input_underruns() was not called in the thread -+ * context of the origin sink. -+ * FIXME: It is unclear if some other kind of recursion would be necessary -+ * for the combine sink. */ -+ if (!i->module || !pa_safe_streq(i->module->name, "module-combine-sink")) { -+ -+ /* The recursive call works in the origin sink domain ... */ -+ left_to_play_origin = pa_convert_size(left_to_play, &i->sink->sample_spec, &i->origin_sink->sample_spec); -+ -+ /* .. and returns the time to sleep before waking up. We need the -+ * underrun duration for comparisons, so we undo the subtraction on -+ * the return value... */ -+ filter_result = left_to_play_origin - pa_sink_process_input_underruns(i->origin_sink, left_to_play_origin); -+ -+ /* ... and convert it back to the master sink domain */ -+ filter_result = pa_convert_size(filter_result, &i->origin_sink->sample_spec, &i->sink->sample_spec); -+ -+ /* Remember the longest underrun so far */ -+ if (filter_result > result) -+ result = filter_result; -+ } - } - - if (uf == 0) { --- -GitLab - diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-gstreamer-bluetooth-arm-crash.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-gstreamer-bluetooth-arm-crash.patch deleted file mode 100644 index a2efaf37b381..000000000000 --- a/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-gstreamer-bluetooth-arm-crash.patch +++ /dev/null @@ -1,43 +0,0 @@ -https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/dd4dc5e8bce2c03631c3613dbddee1a691bdd17d - -From dd4dc5e8bce2c03631c3613dbddee1a691bdd17d Mon Sep 17 00:00:00 2001 -From: Jan Palus -Date: Fri, 17 Jun 2022 14:36:36 +0200 -Subject: [PATCH] bluetooth/gst: Correct var type for GST_TYPE_BITMASK - -GST_TYPE_BITMASK is 64-bit bit mask while corresponding channel_mask in -pulseaudio is int therefore usually 32-bit. Switch to uint64_t instead -to match internal representation in gstreamer. - -Fixes pulseaudio crash on ARM 32-bit when pulseaudio is compiled with -gstreamer and either LDAC or aptX support is available. - -Part-of: ---- - src/modules/bluetooth/a2dp-codec-gst.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/modules/bluetooth/a2dp-codec-gst.c b/src/modules/bluetooth/a2dp-codec-gst.c -index 8ef74be9c..11839c580 100644 ---- a/src/modules/bluetooth/a2dp-codec-gst.c -+++ b/src/modules/bluetooth/a2dp-codec-gst.c -@@ -22,6 +22,7 @@ - #endif - - #include -+#include - - #include - #include -@@ -82,7 +83,7 @@ fail: - static GstCaps *gst_create_caps_from_sample_spec(const pa_sample_spec *ss) { - gchar *sample_format; - GstCaps *caps; -- int channel_mask; -+ uint64_t channel_mask; - - switch (ss->format) { - case PA_SAMPLE_S16LE: --- -GitLab - diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-pacmd-play-file-crash.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-pacmd-play-file-crash.patch deleted file mode 100644 index f9c044dbb2be..000000000000 --- a/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-pacmd-play-file-crash.patch +++ /dev/null @@ -1,42 +0,0 @@ -https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/a8a2a31408c4acf54530d65922d235d3e590ce05 - -From a8a2a31408c4acf54530d65922d235d3e590ce05 Mon Sep 17 00:00:00 2001 -From: Jaechul Lee -Date: Thu, 2 Jun 2022 15:07:09 +0900 -Subject: [PATCH] sound-file-stream: Fix crash when playing a file which is not - aligned - -pulseaudio crash occurred when I play a file using pacmd play-file command. -The file is not aligned with its frame size and the last rendering size -is also not aligned. Thus, an assertion was generated at the end of the -file as the following. - -memblockq.c: Assertion 'uchunk->length % bq->base == 0' failed at -../src/pulsecore/memblockq.c:288, function pa_memblockq_push(). Aborting. - -When I play the file using paplay, it works good. So, I changed to -pa_memblockq_push_align instead of pa_memblockq_push to prevent the -assertion. - -Signed-off-by: Jaechul Lee -Part-of: ---- - src/pulsecore/sound-file-stream.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/pulsecore/sound-file-stream.c b/src/pulsecore/sound-file-stream.c -index 147aa2288..255f4b61a 100644 ---- a/src/pulsecore/sound-file-stream.c -+++ b/src/pulsecore/sound-file-stream.c -@@ -185,7 +185,7 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t length, pa_memchunk *chunk - - tchunk.length = (size_t) n * fs; - -- pa_memblockq_push(u->memblockq, &tchunk); -+ pa_memblockq_push_align(u->memblockq, &tchunk); - pa_memblock_unref(tchunk.memblock); - } - --- -GitLab - diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-rtp-receiver-sdp-record.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-rtp-receiver-sdp-record.patch deleted file mode 100644 index 3d72b9a009c4..000000000000 --- a/media-sound/pulseaudio-daemon/files/pulseaudio-16.0-fix-rtp-receiver-sdp-record.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit d7a633df899dda8738a30df318269e28c902e815 -Author: Igor V. Kovalenko -Date: Mon Jun 13 21:38:08 2022 +0300 - - rtp: Initialize SDP info struct field added for OPUS - - Turned out that pa_sdp_info::enable_opus is never initialized, which seldom - makes module-rtp-recv believe it will be playing OPUS-encoded stream even though - discovered SDP record does not indicate OPUS codec in metadata. - - Fix this by adding missing initializer. - - Part-of: - -diff --git a/src/modules/rtp/sdp.c b/src/modules/rtp/sdp.c -index 4e6a442f8..bf131a27e 100644 ---- a/src/modules/rtp/sdp.c -+++ b/src/modules/rtp/sdp.c -@@ -129,6 +129,7 @@ pa_sdp_info *pa_sdp_parse(const char *t, pa_sdp_info *i, int is_goodbye) { - i->origin = i->session_name = NULL; - i->salen = 0; - i->payload = 255; -+ i->enable_opus = false; - - if (pa_startswith(t, PA_SDP_HEADER)) { - t += sizeof(PA_SDP_HEADER) - 1; diff --git a/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r4.ebuild b/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r4.ebuild deleted file mode 100644 index 8c47aaf30579..000000000000 --- a/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r4.ebuild +++ /dev/null @@ -1,388 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -MY_PV="${PV/_pre*}" -MY_P="pulseaudio-${MY_PV}" -inherit bash-completion-r1 gnome2-utils meson optfeature systemd tmpfiles udev - -DESCRIPTION="A networked sound server with an advanced plugin system" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/" - -if [[ ${PV} = 9999 ]]; then - inherit git-r3 - EGIT_BRANCH="master" - EGIT_REPO_URI="https://gitlab.freedesktop.org/pulseaudio/pulseaudio" -else - SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" -fi - -S="${WORKDIR}/${MY_P}" - -# libpulse-simple and libpulse link to libpulse-core; this is daemon's -# library and can link to gdbm and other GPL-only libraries. In this -# cases, we have a fully GPL-2 package. Leaving the rest of the -# GPL-forcing USE flags for those who use them. -LICENSE="!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 )" - -SLOT="0" - -# +alsa-plugin as discussed in bug #519530 -# TODO: Find out why webrtc-aec is + prefixed - there's already the always available speexdsp-aec -# NOTE: The current ebuild sets +X almost certainly just for the pulseaudio.desktop file -IUSE="+alsa +alsa-plugin aptx +asyncns bluetooth dbus elogind equalizer fftw +gdbm +glib gstreamer jack ldac lirc -ofono-headset +orc oss selinux sox ssl systemd system-wide tcpd test +udev valgrind +webrtc-aec +X zeroconf" - -RESTRICT="!test? ( test )" - -# See "*** BLUEZ support not found (requires D-Bus)" in configure.ac -# Basically all IUSE are either ${MULTILIB_USEDEP} for client libs or they belong under !daemon () -# We duplicate alsa-plugin, {native,ofono}-headset under daemon to let users deal with them at once -REQUIRED_USE=" - ?? ( elogind systemd ) - alsa-plugin? ( alsa ) - aptx? ( bluetooth ) - bluetooth? ( dbus ) - equalizer? ( dbus ) - ldac? ( bluetooth ) - ofono-headset? ( bluetooth ) - udev? ( || ( alsa oss ) ) - zeroconf? ( dbus ) -" - -# NOTE: -# - libpcre needed in some cases, bug #472228 -# - media-libs/speexdsp is providing echo canceller implementation and used in resampler -# TODO: libatomic_ops is only needed on some architectures and conditions, and then at runtime too -gstreamer_deps=" - media-libs/gst-plugins-base - >=media-libs/gstreamer-1.14 -" -COMMON_DEPEND=" - ~media-libs/libpulse-${PV}[dbus?,glib?,systemd?,valgrind?,X?] - dev-libs/libatomic_ops - >=media-libs/libsndfile-1.0.20 - >=media-libs/speexdsp-1.2 - || ( - elibc_glibc? ( virtual/libc ) - dev-libs/libpcre:3 - ) - alsa? ( >=media-libs/alsa-lib-1.0.24 ) - aptx? ( ${gstreamer_deps} ) - asyncns? ( >=net-libs/libasyncns-0.1 ) - bluetooth? ( - >=net-wireless/bluez-5 - media-libs/sbc - ) - dev-libs/libltdl - sys-kernel/linux-headers - >=sys-libs/libcap-2.22-r2 - dbus? ( >=sys-apps/dbus-1.4.12 ) - elogind? ( sys-auth/elogind ) - equalizer? ( - sci-libs/fftw:3.0= - ) - fftw? ( - sci-libs/fftw:3.0= - ) - gdbm? ( sys-libs/gdbm:= ) - glib? ( >=dev-libs/glib-2.28.0:2 ) - gstreamer? ( - ${gstreamer_deps} - >=dev-libs/glib-2.26.0:2 - ) - jack? ( virtual/jack ) - ldac? ( ${gstreamer_deps} ) - lirc? ( app-misc/lirc ) - ofono-headset? ( >=net-misc/ofono-1.13 ) - orc? ( >=dev-lang/orc-0.4.15 ) - selinux? ( sec-policy/selinux-pulseaudio ) - sox? ( >=media-libs/soxr-0.1.1 ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd:= ) - tcpd? ( sys-apps/tcp-wrappers ) - udev? ( >=virtual/udev-143[hwdb(+)] ) - valgrind? ( dev-util/valgrind ) - webrtc-aec? ( >=media-libs/webrtc-audio-processing-0.2:0 ) - X? ( - >=x11-libs/libxcb-1.6 - x11-libs/libICE - x11-libs/libSM - >=x11-libs/libX11-1.4.0 - >=x11-libs/libXtst-1.0.99.2 - ) - zeroconf? ( >=net-dns/avahi-0.6.12[dbus] ) - ! "${T}"/pulseaudio \ - || die - - doinitd "${T}"/pulseaudio - - systemd_dounit "${FILESDIR}"/pulseaudio.service - - # We need /var/run/pulse, bug 442852 - newtmpfiles "${FILESDIR}"/pulseaudio.tmpfiles pulseaudio.conf - else - # Prevent warnings when system-wide is not used, bug 447694 - if use dbus; then - rm "${ED}"/etc/dbus-1/system.d/pulseaudio-system.conf || die - fi - fi - - if use zeroconf; then - sed -i \ - -e '/module-zeroconf-publish/s:^#::' \ - "${ED}/etc/pulse/default.pa" \ - || die - fi - - # Only enable autospawning pulseaudio daemon on systems without systemd - if ! use systemd; then - insinto /etc/pulse/client.conf.d - newins "${FILESDIR}/enable-autospawn.conf" "enable-autospawn.conf" - fi - - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die -} - -pkg_postinst() { - gnome2_schemas_update - - use udev && udev_reload - - if use system-wide; then - tmpfiles_process "pulseaudio.conf" - - elog "You have enabled the 'system-wide' USE flag for pulseaudio." - elog "This mode should only be used on headless servers, embedded systems," - elog "or thin clients. It will usually require manual configuration, and is" - elog "incompatible with many expected pulseaudio features." - elog "On normal desktop systems, system-wide mode is STRONGLY DISCOURAGED." - elog "" - elog "For more information, see" - elog " https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/" - elog " https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/" - elog " https://wiki.gentoo.org/wiki/PulseAudio#Headless_server" - elog "" - fi - - if use equalizer; then - elog "You will need to load some extra modules to make qpaeq work." - elog "You can do that by adding the following two lines in" - elog "/etc/pulse/default.pa and restarting pulseaudio:" - elog "load-module module-equalizer-sink" - elog "load-module module-dbus-protocol" - elog "" - fi - - if use bluetooth; then - elog "You have enabled bluetooth USE flag for pulseaudio. Daemon will now handle" - elog "bluetooth Headset (HSP HS and HSP AG) and Handsfree (HFP HF) profiles using" - elog "native headset backend by default. This can be selectively disabled" - elog "via runtime configuration arguments to module-bluetooth-discover" - elog "in /etc/pulse/default.pa" - elog "To disable HFP HF append enable_native_hfp_hf=false" - elog "To disable HSP HS append enable_native_hsp_hs=false" - elog "To disable HSP AG append headset=auto or headset=ofono" - elog "(note this does NOT require enabling USE ofono)" - elog "" - fi - - if use ofono-headset; then - elog "You have enabled both native and ofono headset profiles. The runtime decision" - elog "which to use is done via the 'headset' argument of module-bluetooth-discover." - elog "" - fi - - if use gstreamer; then - elog "GStreamer-based RTP implementation modile enabled." - elog "To use OPUS payload install media-plugins/gst-plugins-opus" - elog "and add enable_opus=1 argument to module-rtp-send" - elog "" - fi - - if use systemd; then - elog "Pulseaudio autospawn by client library is no longer enabled when systemd is available." - elog "It's recommended to start pulseaudio via its systemd user units:" - elog "" - elog " systemctl --user enable pulseaudio.service pulseaudio.socket" - elog "" - elog "Root user can change system default configuration for all users:" - elog "" - elog " systemctl --global enable pulseaudio.service pulseaudio.socket" - elog "" - elog "If you would like to enable autospawn by client library, edit autospawn flag in /etc/pulse/client.conf like this:" - elog "" - elog " autospawn = yes" - elog "" - elog "The change from autospawn to user units will take effect after restarting." - elog "" - fi - - optfeature_header "PulseAudio can be enhanced by installing the following:" - use equalizer && optfeature "using the qpaeq script" dev-python/PyQt5[dbus,widgets] - use dbus && optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit -} - -pkg_postrm() { - gnome2_schemas_update - use udev && udev_reload -} diff --git a/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r5.ebuild b/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r5.ebuild deleted file mode 100644 index 66f340cd76f7..000000000000 --- a/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.0-r5.ebuild +++ /dev/null @@ -1,396 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -MY_PV="${PV/_pre*}" -MY_P="pulseaudio-${MY_PV}" -inherit bash-completion-r1 gnome2-utils meson optfeature systemd tmpfiles udev - -DESCRIPTION="Daemon component of PulseAudio (networked sound server)" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/" - -if [[ ${PV} = 9999 ]]; then - inherit git-r3 - EGIT_BRANCH="master" - EGIT_REPO_URI="https://gitlab.freedesktop.org/pulseaudio/pulseaudio" -else - SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" -fi - -S="${WORKDIR}/${MY_P}" - -# libpulse-simple and libpulse link to libpulse-core; this is daemon's -# library and can link to gdbm and other GPL-only libraries. In this -# cases, we have a fully GPL-2 package. Leaving the rest of the -# GPL-forcing USE flags for those who use them. -LICENSE="!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 )" - -SLOT="0" - -# +alsa-plugin as discussed in bug #519530 -# TODO: Find out why webrtc-aec is + prefixed - there's already the always available speexdsp-aec -# NOTE: The current ebuild sets +X almost certainly just for the pulseaudio.desktop file -IUSE="+alsa +alsa-plugin aptx +asyncns bluetooth dbus elogind equalizer fftw +gdbm +glib gstreamer jack ldac lirc -ofono-headset +orc oss selinux sox ssl systemd system-wide tcpd test +udev valgrind +webrtc-aec +X zeroconf" - -RESTRICT="!test? ( test )" - -# See "*** BLUEZ support not found (requires D-Bus)" in configure.ac -# Basically all IUSE are either ${MULTILIB_USEDEP} for client libs or they belong under !daemon () -# We duplicate alsa-plugin, {native,ofono}-headset under daemon to let users deal with them at once -REQUIRED_USE=" - ?? ( elogind systemd ) - alsa-plugin? ( alsa ) - aptx? ( bluetooth ) - bluetooth? ( dbus ) - equalizer? ( dbus ) - ldac? ( bluetooth ) - ofono-headset? ( bluetooth ) - udev? ( || ( alsa oss ) ) - zeroconf? ( dbus ) -" - -# NOTE: -# - libpcre needed in some cases, bug #472228 -# - media-libs/speexdsp is providing echo canceller implementation and used in resampler -# TODO: libatomic_ops is only needed on some architectures and conditions, and then at runtime too -gstreamer_deps=" - media-libs/gst-plugins-base - >=media-libs/gstreamer-1.14 -" -COMMON_DEPEND=" - ~media-libs/libpulse-${PV}[dbus?,glib?,systemd?,valgrind?,X?] - dev-libs/libatomic_ops - >=media-libs/libsndfile-1.0.20 - >=media-libs/speexdsp-1.2 - || ( - elibc_glibc? ( virtual/libc ) - dev-libs/libpcre:3 - ) - alsa? ( >=media-libs/alsa-lib-1.0.24 ) - aptx? ( ${gstreamer_deps} ) - asyncns? ( >=net-libs/libasyncns-0.1 ) - bluetooth? ( - >=net-wireless/bluez-5 - media-libs/sbc - ) - dev-libs/libltdl - sys-kernel/linux-headers - >=sys-libs/libcap-2.22-r2 - dbus? ( >=sys-apps/dbus-1.4.12 ) - elogind? ( sys-auth/elogind ) - equalizer? ( - sci-libs/fftw:3.0= - ) - fftw? ( - sci-libs/fftw:3.0= - ) - gdbm? ( sys-libs/gdbm:= ) - glib? ( >=dev-libs/glib-2.28.0:2 ) - gstreamer? ( - ${gstreamer_deps} - >=dev-libs/glib-2.26.0:2 - ) - jack? ( virtual/jack ) - ldac? ( ${gstreamer_deps} ) - lirc? ( app-misc/lirc ) - ofono-headset? ( >=net-misc/ofono-1.13 ) - orc? ( >=dev-lang/orc-0.4.15 ) - selinux? ( sec-policy/selinux-pulseaudio ) - sox? ( >=media-libs/soxr-0.1.1 ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd:= ) - tcpd? ( sys-apps/tcp-wrappers ) - udev? ( >=virtual/udev-143[hwdb(+)] ) - valgrind? ( dev-util/valgrind ) - webrtc-aec? ( >=media-libs/webrtc-audio-processing-0.2:0 ) - X? ( - >=x11-libs/libxcb-1.6 - x11-libs/libICE - x11-libs/libSM - >=x11-libs/libX11-1.4.0 - >=x11-libs/libXtst-1.0.99.2 - ) - zeroconf? ( >=net-dns/avahi-0.6.12[dbus] ) - ! "${T}"/pulseaudio \ - || die - - doinitd "${T}"/pulseaudio - - systemd_dounit "${FILESDIR}"/pulseaudio.service - - # We need /var/run/pulse, bug 442852 - newtmpfiles "${FILESDIR}"/pulseaudio.tmpfiles pulseaudio.conf - else - # Prevent warnings when system-wide is not used, bug 447694 - if use dbus; then - rm "${ED}"/etc/dbus-1/system.d/pulseaudio-system.conf || die - fi - fi - - if use zeroconf; then - sed -i \ - -e '/module-zeroconf-publish/s:^#::' \ - "${ED}/etc/pulse/default.pa" \ - || die - fi - - # Only enable autospawning pulseaudio daemon on systems without systemd - if ! use systemd; then - insinto /etc/pulse/client.conf.d - newins "${FILESDIR}/enable-autospawn.conf" "enable-autospawn.conf" - fi - - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die -} - -pkg_postinst() { - gnome2_schemas_update - - use udev && udev_reload - - if use system-wide; then - tmpfiles_process "pulseaudio.conf" - - elog "You have enabled the 'system-wide' USE flag for pulseaudio." - elog "This mode should only be used on headless servers, embedded systems," - elog "or thin clients. It will usually require manual configuration, and is" - elog "incompatible with many expected pulseaudio features." - elog "On normal desktop systems, system-wide mode is STRONGLY DISCOURAGED." - elog "" - elog "For more information, see" - elog " https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/" - elog " https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/" - elog " https://wiki.gentoo.org/wiki/PulseAudio#Headless_server" - elog "" - fi - - if use equalizer; then - elog "You will need to load some extra modules to make qpaeq work." - elog "You can do that by adding the following two lines in" - elog "/etc/pulse/default.pa and restarting pulseaudio:" - elog "load-module module-equalizer-sink" - elog "load-module module-dbus-protocol" - elog "" - fi - - if use bluetooth; then - elog "You have enabled bluetooth USE flag for pulseaudio. Daemon will now handle" - elog "bluetooth Headset (HSP HS and HSP AG) and Handsfree (HFP HF) profiles using" - elog "native headset backend by default. This can be selectively disabled" - elog "via runtime configuration arguments to module-bluetooth-discover" - elog "in /etc/pulse/default.pa" - elog "To disable HFP HF append enable_native_hfp_hf=false" - elog "To disable HSP HS append enable_native_hsp_hs=false" - elog "To disable HSP AG append headset=auto or headset=ofono" - elog "(note this does NOT require enabling USE ofono)" - elog "" - fi - - if use ofono-headset; then - elog "You have enabled both native and ofono headset profiles. The runtime decision" - elog "which to use is done via the 'headset' argument of module-bluetooth-discover." - elog "" - fi - - if use gstreamer; then - elog "GStreamer-based RTP implementation modile enabled." - elog "To use OPUS payload install media-plugins/gst-plugins-opus" - elog "and add enable_opus=1 argument to module-rtp-send" - elog "" - fi - - if use systemd; then - elog "Pulseaudio autospawn by client library is no longer enabled when systemd is available." - elog "It's recommended to start pulseaudio via its systemd user units:" - elog "" - elog " systemctl --user enable pulseaudio.service pulseaudio.socket" - elog "" - elog "Root user can change system default configuration for all users:" - elog "" - elog " systemctl --global enable pulseaudio.service pulseaudio.socket" - elog "" - elog "If you would like to enable autospawn by client library, edit autospawn flag in /etc/pulse/client.conf like this:" - elog "" - elog " autospawn = yes" - elog "" - elog "The change from autospawn to user units will take effect after restarting." - elog "" - fi - - optfeature_header "PulseAudio can be enhanced by installing the following:" - use equalizer && optfeature "using the qpaeq script" dev-python/PyQt5[dbus,widgets] - use dbus && optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit -} - -pkg_postrm() { - gnome2_schemas_update - use udev && udev_reload -} -- cgit v1.2.3-65-gdbad