summaryrefslogtreecommitdiff
path: root/media-sound
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/Manifest.gzbin56610 -> 56763 bytes
-rw-r--r--media-sound/gpodder/Manifest2
-rw-r--r--media-sound/gpodder/gpodder-3.11.1.ebuild2
-rw-r--r--media-sound/mpg123/Manifest2
-rw-r--r--media-sound/mpg123/mpg123-1.31.3.ebuild110
-rw-r--r--media-sound/pulseaudio-daemon/Manifest1
-rw-r--r--media-sound/pulseaudio-daemon/pulseaudio-daemon-16.1-r7.ebuild389
-rw-r--r--media-sound/qpaeq/Manifest3
-rw-r--r--media-sound/qpaeq/metadata.xml16
-rw-r--r--media-sound/qpaeq/qpaeq-16.1.ebuild60
10 files changed, 583 insertions, 2 deletions
diff --git a/media-sound/Manifest.gz b/media-sound/Manifest.gz
index eb400c2bc39b..f2aafda75471 100644
--- a/media-sound/Manifest.gz
+++ b/media-sound/Manifest.gz
Binary files differ
diff --git a/media-sound/gpodder/Manifest b/media-sound/gpodder/Manifest
index 679815e6d3b2..61fbd9abf9b8 100644
--- a/media-sound/gpodder/Manifest
+++ b/media-sound/gpodder/Manifest
@@ -1,5 +1,5 @@
DIST gpodder-3.11.0.tar.gz 1155120 BLAKE2B b2e46a5ea5ceec7df632f888b00e9c25a0ec1c4597540228b50cb75bd4bd6acfc7566cfffe5c9d133e8ec29e1ffc2f4551e2fd289237d1b93d2e80f6b49db0c1 SHA512 90e33e04a8afcdafa0899f25714417ce61699c641ce3df93b3a3728224bdb0be5205c064e7263d1be1f4641e61932b945741e9848726b602633a94eb754fa937
DIST gpodder-3.11.1.tar.gz 1174163 BLAKE2B 703b545b576c8f119427e336e71e45301d4336fc82bca6ec6c4a0866591c8742866308da680564ff1543a5a65e2407295c46b3c5831d1e2d7335c5806d4cce5a SHA512 7570a4f0ac0c974fab58e30bb5bceb998cd7260ab91140a9801cf4fda1af3549ddf1ec4930081025215ecefd920a93c16252594915778e8ecb7524d3d7d3011b
EBUILD gpodder-3.11.0.ebuild 2150 BLAKE2B 0b5c878b26e72b632d706efddf66d42ca1fbd7e1545bf6d2a8f53ecffc5d16b939c6ad6f103010c111dd24d86eb1e7c5ba7140f68e2d09beab748fccaf5a2847 SHA512 ed00f19a48193bce6763564fa024c88b4e728f4e0bfed15aa67411192e1bd44265b3ae3c19df9ea1fd92e29fa752fac6a25d41d50d8c3f6c8e74774e66a466f3
-EBUILD gpodder-3.11.1.ebuild 2121 BLAKE2B d4e7319b707acc6660d181a87ecc01c77a36cdab2857eb2f653cc30e99109ab8f7d516f52607d85e8b52b0c75f1d6bd313e2904dfcf881295f569b89e3ac685d SHA512 8eebc09d6d853dc46b78ef96bc5849e796ba190a09fcac36c4ed98d142421760f0c82a9ec9d6e2af3896f869f014d2dfa064835a67ad6e32f214c8f24823a6fc
+EBUILD gpodder-3.11.1.ebuild 2119 BLAKE2B e383de02cb4211b2b0ae1c6ba6365dc634a255082f69e703cda33fc9a3799ecbbc75ca8a65c6a6c01a32345ce7a358b0bf4269d24a38b397a6c5e6538d8a0bf3 SHA512 e1c488309668e0fd14bcc9dce93d5c950e940b5db442e6b1d2dc1fe13fdd00934d49b7c1204f46f072b8fe9bdf18324757815972978feee279b2e30a4a362dff
MISC metadata.xml 358 BLAKE2B 272a71d2d7d519dca74a2d1dbbd25d0c48b55b265eca16962967f57dc29edfeca9d454100a84a7dd505f5bab7778778ff45b89f2ddaca152b562733e8c0dcce8 SHA512 31b12848c3f24a103f2bfa39bec4b2c4e3251ed70de194d569acfbe2b7df3f8ea28dd5ba274b4add0fbc1b55d998cf13f5b8f7bf89bb4a95fd1e60e988bce6f6
diff --git a/media-sound/gpodder/gpodder-3.11.1.ebuild b/media-sound/gpodder/gpodder-3.11.1.ebuild
index d6e67e460c88..08280b1bfa58 100644
--- a/media-sound/gpodder/gpodder-3.11.1.ebuild
+++ b/media-sound/gpodder/gpodder-3.11.1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="+dbus bluetooth mtp"
RDEPEND="
diff --git a/media-sound/mpg123/Manifest b/media-sound/mpg123/Manifest
index c09b0c633b19..1beab0e7e4f3 100644
--- a/media-sound/mpg123/Manifest
+++ b/media-sound/mpg123/Manifest
@@ -1,3 +1,5 @@
DIST mpg123-1.31.2.tar.bz2 1093881 BLAKE2B a5c2d0a5df6067322979176498592a429c36fa06000b512e944b1f6ceeeae29fa3efeb0e5d604c8f2930aa51ae75e53be4312abaf74e43504fb1643b66b8b682 SHA512 eca285382ee3e780353834addf1336c4a2f8f11256af22f95e11efa243de669761c083c86ddfc6ac8c02a920a3c4ab4ad767efa2739fb052e9719f35ef407bc3
+DIST mpg123-1.31.3.tar.bz2 1094474 BLAKE2B 343bca53e067485dba438a177ba65f38d512c4aaac6f413bb1e070f99d6407f9a694899f06fbd3577ef287b4e898b38ac3585f86d18f643cab15f678d3105c11 SHA512 5dd550e06f5d0d432cac1b7e546215e56378b44588c1a98031498473211e08bc4228de45be41f7ba764f7f6c0eb752a6501235bcc3712c9a8d8852ae3c607d98
EBUILD mpg123-1.31.2.ebuild 3019 BLAKE2B 3712b6b382b3a26171cab36614d69bbb56b726f2557622ff1bb0fc3d125f4f605ce1240fffa682fa443f91d859994884ee68dcfe5b86f2f9b064b53a9e5529ab SHA512 fdb82d8cf805c019c08df24bcc7eb51acae4a8016c216b548e8e64ce5ee4e2fe7b1b1b2cabea9d2e730e82334dde23c846f8a7b0b9d76e96a805ba62ef5f6e02
+EBUILD mpg123-1.31.3.ebuild 3026 BLAKE2B e10f14a878fbfa768fd8d11c6117e36190e396bd05a4a0bdc713f62c7ffddc73fc19593f2c127be3ea06909875718b1dab6c2ebc2dae43937b9e16141e7f8ec5 SHA512 1373f98d03ce7660c3dcebd4da53511667977675219c23eb2f64f5c460d4df8beec34892329098012a57cfd6e4cb87b3a5afc343e1e43b2f3d45c1b2460c4ba6
MISC metadata.xml 526 BLAKE2B 42eed8f068420cefea4cf3e75a880889be7abe182feec2aa95e0e7f550cf68eb2582460e43500d24b7ad189adb3e0e135da1079efb405957fe3dfc6b93a91ece SHA512 11e572b6ec77d6c971766e666db84ee4b605479c3f89ba639177de7fb109a8d9e38d1f5034a52554736e6bd0915aae84830169ba3580f6d64794adc4c8cb9d0e
diff --git a/media-sound/mpg123/mpg123-1.31.3.ebuild b/media-sound/mpg123/mpg123-1.31.3.ebuild
new file mode 100644
index 000000000000..0d189895b3ef
--- /dev/null
+++ b/media-sound/mpg123/mpg123-1.31.3.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs libtool multilib-minimal
+
+DESCRIPTION="a realtime MPEG 1.0/2.0/2.5 audio player for layers 1, 2 and 3"
+HOMEPAGE="https://www.mpg123.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+IUSE="cpu_flags_x86_3dnow cpu_flags_x86_3dnowext cpu_flags_ppc_altivec alsa coreaudio int-quality ipv6 jack cpu_flags_x86_mmx nas oss portaudio pulseaudio sdl cpu_flags_x86_sse"
+
+# No MULTILIB_USEDEP here since we only build libmpg123 for non native ABIs.
+# Note: build system prefers libsdl2 > libsdl. We could in theory add both
+# but it's tricky when it comes to handling switching between them properly.
+# We'd need a USE flag for both sdl1 and sdl2 and to make them clash.
+RDEPEND="
+ dev-libs/libltdl:0
+ alsa? ( media-libs/alsa-lib )
+ jack? ( virtual/jack )
+ nas? ( media-libs/nas )
+ portaudio? ( media-libs/portaudio )
+ pulseaudio? ( media-sound/pulseaudio )
+ sdl? ( media-libs/libsdl2 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/libtool
+ virtual/pkgconfig
+"
+IDEPEND="app-eselect/eselect-mpg123"
+
+DOCS=( AUTHORS ChangeLog NEWS NEWS.libmpg123 README )
+
+src_prepare() {
+ default
+ elibtoolize # for Darwin bundles
+}
+
+multilib_src_configure() {
+ local _audio=dummy
+ local _output=dummy
+ local _cpu=generic_fpu
+
+ # Build fails without -D_GNU_SOURCE like this:
+ # error: ‘struct hostent’ has no member named ‘h_addr’
+ append-cflags -D_GNU_SOURCE
+
+ append-lfs-flags
+
+ if $(multilib_is_native_abi) ; then
+ local flag
+ for flag in nas portaudio sdl oss jack alsa pulseaudio coreaudio; do
+ if use ${flag}; then
+ _audio+=" ${flag/pulseaudio/pulse}"
+ _output=${flag/pulseaudio/pulse}
+ fi
+ done
+ fi
+
+ use cpu_flags_ppc_altivec && _cpu=altivec
+
+ if [[ $(tc-arch) == amd64 || ${ARCH} == x64-* ]]; then
+ use cpu_flags_x86_sse && _cpu=x86-64
+ elif use x86 && gcc-specs-pie ; then
+ # Don't use any mmx, 3dnow, sse and 3dnowext
+ # bug #164504
+ _cpu=generic_fpu
+ else
+ use cpu_flags_x86_mmx && _cpu=mmx
+ use cpu_flags_x86_3dnow && _cpu=3dnow
+ use cpu_flags_x86_sse && _cpu=x86
+ use cpu_flags_x86_3dnowext && _cpu=x86
+ fi
+
+ local myconf=(
+ --with-optimization=0
+ --with-audio="${_audio}"
+ --with-default-audio=${_output}
+ --with-cpu=${_cpu}
+ --enable-network
+ $(use_enable ipv6)
+ --enable-int-quality=$(usex int-quality)
+ )
+
+ multilib_is_native_abi || myconf+=( --disable-modules )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ if ! $(multilib_is_native_abi) ; then
+ sed -i -e 's:src doc:src/libmpg123:' Makefile || die
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ mv "${ED}"/usr/bin/mpg123{,-mpg123}
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ eselect mpg123 update ifunset
+}
+
+pkg_postrm() {
+ eselect mpg123 update ifunset
+}
diff --git a/media-sound/pulseaudio-daemon/Manifest b/media-sound/pulseaudio-daemon/Manifest
index e650813c060c..3b8055eddeee 100644
--- a/media-sound/pulseaudio-daemon/Manifest
+++ b/media-sound/pulseaudio-daemon/Manifest
@@ -10,4 +10,5 @@ AUX pulseaudio.tmpfiles 36 BLAKE2B 4fe7c88fb35f561b0eb756146db17e37201126b5d7f90
DIST pulseaudio-16.1.tar.xz 1545596 BLAKE2B 535706abcea2cae39834b23c8bdc37f71b0e633de2d8e43ea4425da97a850b57c2f980c318681cbc86cf1e746200609dad41f8b96ecf4568f86d94aa6831c9a1 SHA512 33b0b4292f05e0882f3ec822cf5720414bb34c523d80fe287b9740d6be219787c562e8024c9b0d9e2ee010771ca72c7ae4f27df1bbef9c9cb6bb6a23cbcc412f
EBUILD pulseaudio-daemon-16.1-r3.ebuild 12165 BLAKE2B 525c97dafa1913dc714abff8a3e49cd60203f8e5e114a10cc66e30b67c322b4d9e41a6a11508d99a0c010029508c40da0ec6ca8388210a0a8430437ae015fda1 SHA512 ccff4a1c5222865f206a46b6b5f6ad2740473edf960bf2e6071bc450a03b323b6119794840d56483691e029a0512fbcef8cb1696aa7c188da00db95045bc234b
EBUILD pulseaudio-daemon-16.1-r6.ebuild 12363 BLAKE2B 4dda5774b3addc823a4c6b90e0d4410867beff7530ff2696ad5c3a470e07b7a8dea7f18c8a2c061defeb53bb4c8cee99cd5fd554e5fc4381f13282f4bd138582 SHA512 0b82f689b73be3e7e23da7ec4127fa0665ae00d1623dd7216c2902f08cb4fe991fb6d23e7ae9f918273a2eae10dc9b2b3ae3a5e8db07311a317e9ecf0f89dc8c
+EBUILD pulseaudio-daemon-16.1-r7.ebuild 12129 BLAKE2B 47474fbecc94102146d8af55cff79254bb58928760b8b59bcbc4aa5d11baeca83198797442a5ac0d3328538b680cd22c5da63dfd2ff6a43472aa408f626c2322 SHA512 6bc8d6954284b418b42e6c402c4fb9c3c4ac13b60940a04922f008a27bd154fe42fa692821743b0a9584f13ed276f2f2c06911a7f1c068bdd346954141ac73fb
MISC metadata.xml 3570 BLAKE2B 24d7b24a68f5e832708d9879769f55ec4cf146c47a41b5fa0ff33f63a5a9945736e227c6a6afa106f964fd91eb3b0ee441203c92f312ed835ef2197979b6fda9 SHA512 34aa5503ad5483eeff2f7c4713d96322dedbdd56b7d52a17ba0658aba24aef58239d5ee1943a276555c2508fd3d5e18639ec6417044adad512693fa6c673c5df
diff --git a/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.1-r7.ebuild b/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.1-r7.ebuild
new file mode 100644
index 000000000000..186ed0f9686a
--- /dev/null
+++ b/media-sound/pulseaudio-daemon/pulseaudio-daemon-16.1-r7.ebuild
@@ -0,0 +1,389 @@
+# Copyright 1999-2023 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
+ 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 )
+ elibc_mingw? ( dev-libs/libpcre:3 )
+ 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] )
+"
+
+# pulseaudio ships a bundle xmltoman, which uses XML::Parser
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-libs/check-0.9.10 )
+ X? ( x11-base/xorg-proto )
+"
+
+# alsa-utils dep is for the alsasound init.d script (see bug 155707); TODO: read it
+# NOTE: Only system-wide needs acct-group/audio unless elogind/systemd is not used
+RDEPEND="
+ ${COMMON_DEPEND}
+ system-wide? (
+ alsa? ( media-sound/alsa-utils )
+ acct-user/pulse
+ acct-group/audio
+ acct-group/pulse-access
+ )
+ bluetooth? (
+ ldac? ( media-plugins/gst-plugins-ldac )
+ aptx? ( media-plugins/gst-plugins-openaptx )
+ )
+ !media-video/pipewire[sound-server(+)]
+"
+unset gstreamer_deps
+
+# This is a PDEPEND to avoid a circular dep
+PDEPEND="
+ alsa? ( alsa-plugin? ( >=media-plugins/alsa-plugins-1.0.27-r1[pulseaudio] ) )
+"
+
+BDEPEND="
+ dev-lang/perl
+ dev-perl/XML-Parser
+ sys-devel/gettext
+ sys-devel/m4
+ virtual/libiconv
+ virtual/libintl
+ virtual/pkgconfig
+ orc? ( >=dev-lang/orc-0.4.15 )
+ system-wide? ( dev-util/unifdef )
+"
+
+DOCS=( NEWS README )
+
+S="${WORKDIR}/${MY_P}"
+
+# patches merged upstream, to be removed with 16.2 or later bump
+PATCHES=(
+ "${FILESDIR}"/pulseaudio-16.0-optional-module-console-kit.patch
+ "${FILESDIR}"/pulseaudio-16.1-module-combine-sink-load-crash.patch
+ "${FILESDIR}"/pulseaudio-16.1-module-combine-sink-unload-crash.patch
+ "${FILESDIR}"/pulseaudio-16.1-move-qpaeq-to-daemon.patch
+)
+
+src_prepare() {
+ default
+
+ gnome2_environment_reset
+}
+
+src_configure() {
+ local enable_bluez5_gstreamer="disabled"
+ if use aptx || use ldac ; then
+ enable_bluez5_gstreamer="enabled"
+ fi
+
+ local enable_fftw="disabled"
+ if use equalizer || use fftw ; then
+ enable_fftw="enabled"
+ fi
+
+ local emesonargs=(
+ --localstatedir="${EPREFIX}"/var
+
+ -Ddaemon=true
+ -Dclient=false
+ -Ddoxygen=false
+ -Dgcov=false
+ -Dman=true
+ # tests involve random modules, so just do them for the native # TODO: tests should run always
+ $(meson_use test tests)
+ -Ddatabase=$(usex gdbm gdbm simple) # tdb is also an option but no one cares about it
+ -Dstream-restore-clear-old-devices=true
+ -Drunning-from-build-tree=false
+
+ # Paths
+ -Dmodlibexecdir="${EPREFIX}/usr/$(get_libdir)/pulseaudio/modules" # Was $(get_libdir)/${P}
+ -Dsystemduserunitdir=$(systemd_get_userunitdir)
+ -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+ -Dbashcompletiondir="$(get_bashcompdir)" # Alternatively DEPEND on app-shells/bash-completion for pkg-config to provide the value
+
+ # Optional features
+ $(meson_feature alsa)
+ $(meson_feature asyncns)
+ $(meson_feature zeroconf avahi)
+ $(meson_feature bluetooth bluez5)
+ -Dbluez5-gstreamer=${enable_bluez5_gstreamer}
+ $(meson_use bluetooth bluez5-native-headset)
+ $(meson_use ofono-headset bluez5-ofono-headset)
+ -Dconsolekit=disabled
+ $(meson_feature dbus)
+ $(meson_feature elogind)
+ -Dfftw=${enable_fftw}
+ $(meson_feature glib) # WARNING: toggling this likely changes ABI
+ $(meson_feature glib gsettings) # Supposedly correct?
+ $(meson_feature gstreamer)
+ -Dgtk=disabled
+ -Dhal-compat=false
+ -Dipv6=true
+ $(meson_feature jack)
+ $(meson_feature lirc)
+ $(meson_feature ssl openssl)
+ $(meson_feature orc)
+ $(meson_feature oss oss-output)
+ -Dsamplerate=disabled # Matches upstream
+ $(meson_feature sox soxr)
+ -Dspeex=enabled
+ $(meson_feature systemd)
+ $(meson_feature tcpd tcpwrap)
+ $(meson_feature udev)
+ $(meson_feature valgrind)
+ $(meson_feature X x11)
+
+ # Echo cancellation
+ -Dadrian-aec=false # Not packaged?
+ $(meson_feature webrtc-aec)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ # qpaeq moved to media-sound/qpaeq
+ if [[ -f "${ED}"/usr/bin/qpaeq ]]; then
+ rm "${ED}"/usr/bin/qpaeq || die
+ fi
+
+ # Upstream installs 'pactl' if client is built, with all symlinks except for
+ # 'pulseaudio', 'pacmd' and 'pasuspender' which are installed if server is built.
+ # This trips QA warning, workaround:
+ # - install missing aliases in media-libs/libpulse (client build)
+ # - remove corresponding symlinks in media-sound/pulseaudio-daemonclient (server build)
+ rm "${D}/$(get_bashcompdir)"/pulseaudio || die
+ rm "${D}/$(get_bashcompdir)"/pacmd || die
+ rm "${D}/$(get_bashcompdir)"/pasuspender || die
+
+ # Daemon configuration scripts will try to load snippets from corresponding '.d' dirs.
+ # Install these dirs to silence a warning if they are missing.
+ keepdir /etc/pulse/default.pa.d
+ keepdir /etc/pulse/system.pa.d
+
+ if use system-wide; then
+ newconfd "${FILESDIR}"/pulseaudio.conf.d pulseaudio
+
+ use_define() {
+ local define=${2:-$(echo ${1} | tr '[:lower:]' '[:upper:]')}
+
+ use "${1}" && echo "-D${define}" || echo "-U${define}"
+ }
+
+ unifdef -x 1 \
+ $(use_define zeroconf AVAHI) \
+ $(use_define alsa) \
+ $(use_define bluetooth) \
+ $(use_define udev) \
+ "${FILESDIR}"/pulseaudio.init.d-5 \
+ > "${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 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 "qpaeq script for equalizer GUI" media-sound/qpaeq
+ 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/qpaeq/Manifest b/media-sound/qpaeq/Manifest
new file mode 100644
index 000000000000..d1682ebde76b
--- /dev/null
+++ b/media-sound/qpaeq/Manifest
@@ -0,0 +1,3 @@
+DIST pulseaudio-16.1.tar.xz 1545596 BLAKE2B 535706abcea2cae39834b23c8bdc37f71b0e633de2d8e43ea4425da97a850b57c2f980c318681cbc86cf1e746200609dad41f8b96ecf4568f86d94aa6831c9a1 SHA512 33b0b4292f05e0882f3ec822cf5720414bb34c523d80fe287b9740d6be219787c562e8024c9b0d9e2ee010771ca72c7ae4f27df1bbef9c9cb6bb6a23cbcc412f
+EBUILD qpaeq-16.1.ebuild 1466 BLAKE2B 44d430da4f471f3e4530ec5be8cc06d069480629bec01eda358001ddcf22850c2d54e1e521978608f469a6dbcf2a082c2befb950317685516e366b10cbd9331f SHA512 bc3bd25178795949e334f4e94c7aa05cfbccc21d88c1707f2d7e05e6ac3cc29c23cb0a369edd0887016c560b8f865b36dccb707fde433a1e1647cc296b1a609b
+MISC metadata.xml 497 BLAKE2B d521e305a0984cfc522a8b61e2680e72d651adee223f89171925064400534959ae9b658b49d6d5dfa8496d208090553084f35b22b6374c5a389da5485541c825 SHA512 a96421379ef796b8d83d7dc0a53944237d50c34a74b299e93e9a062d9f6b15016d49cf7e683fdde2ee0590bf9662bb8ac70001f56757200553952bae6ccb136e
diff --git a/media-sound/qpaeq/metadata.xml b/media-sound/qpaeq/metadata.xml
new file mode 100644
index 000000000000..200e0214650c
--- /dev/null
+++ b/media-sound/qpaeq/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>igor.v.kovalenko@gmail.com</email>
+ <name>Igor V. Kovalenko</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>leio@gentoo.org</email>
+ <name>Mart Raudsepp</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/media-sound/qpaeq/qpaeq-16.1.ebuild b/media-sound/qpaeq/qpaeq-16.1.ebuild
new file mode 100644
index 000000000000..97481050e852
--- /dev/null
+++ b/media-sound/qpaeq/qpaeq-16.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+MY_PV="${PV/_pre*}"
+MY_P="pulseaudio-${MY_PV}"
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit python-single-r1
+
+DESCRIPTION="Equalizer interface for equalizer sinks 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 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ ')
+ >=media-sound/pulseaudio-daemon-16.1-r7[dbus,fftw]
+ !<media-sound/pulseaudio-daemon-16.1-r7
+"
+DEPEND=""
+
+BDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ :; # do nothing
+}
+
+src_install() {
+ python_doscript src/utils/qpaeq
+}
+
+pkg_postinst() {
+ 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"
+}