summaryrefslogtreecommitdiff
path: root/media-libs/libpulse
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
commit0f558761aa2dee1017b4751e4017205e015a9560 (patch)
tree037df795519468a25d9362b4e95cdaeb84eb1cf9 /media-libs/libpulse
parent752d6256e5204b958b0ef7905675a940b5e9172f (diff)
gentoo resync : 29.12.2022
Diffstat (limited to 'media-libs/libpulse')
-rw-r--r--media-libs/libpulse/Manifest10
-rw-r--r--media-libs/libpulse/files/pulseaudio-16.0-fix-pactl-volume-command.patch55
-rw-r--r--media-libs/libpulse/libpulse-16.0-r1.ebuild204
-rw-r--r--media-libs/libpulse/libpulse-16.0.ebuild (renamed from media-libs/libpulse/libpulse-15.99.1-r1.ebuild)10
-rw-r--r--media-libs/libpulse/libpulse-16.1.ebuild203
-rw-r--r--media-libs/libpulse/metadata.xml15
6 files changed, 486 insertions, 11 deletions
diff --git a/media-libs/libpulse/Manifest b/media-libs/libpulse/Manifest
index 355b1ab43bfc..9f6bde112312 100644
--- a/media-libs/libpulse/Manifest
+++ b/media-libs/libpulse/Manifest
@@ -1,3 +1,7 @@
-DIST pulseaudio-15.99.1.tar.xz 1546536 BLAKE2B d77b7f9d05c1ffe1490b72dbf58b479962798d6e961d4efc935cbab0a6ad7fcd6ecb99de5efa5b85658b58e59024087cfd446ac4e7eeef1cd38fa7e579b5fb3c SHA512 3eb7cdc9795204513d43336836d12709e78ebb001a97e9bab81969a4981a10df2d68a5fad34aef2660f37b72d269cb01e4c6e76c42a5c5742ac56c0f575778d5
-EBUILD libpulse-15.99.1-r1.ebuild 5663 BLAKE2B 0e3659148b5adbad94608420a241bb7301923a123f685f7845a4cd4a8ce1d3371ff80d994527a9a388ad22dc749aedd4dce41955853d3c7e3d516866c3631a30 SHA512 6d55dd54be3c00210757323bc57b5a08c3ce1bb2ff469007d2c7bbd78f7fa8b02c052702bfdfe29d56e0a3f9232e35d669113a392139a559613bf29a7f187219
-MISC metadata.xml 622 BLAKE2B 4d143ef69b028fc7668d69fca9cae2b57a2c7e654d415807142098bd1a764e57b335280426d4dccaf2b1a8834bb7f2f18d07148539f0b00266c9851f45881a36 SHA512 efefb947045f47d0e5ddfd8c6a2a575ec2b51165a71b6cba9667e82c86265427d0832cb4f14f0f783e2d1d5261bf453f6730a452a9521b1c88e9989733e1402f
+AUX pulseaudio-16.0-fix-pactl-volume-command.patch 1992 BLAKE2B 5e7a822a77f1219a7c8aaeb194ca076e19b73e8b37c38c40e2c31326ba175a1afe1abab3771775b7a8b4734cfa0132ed6cd997c980a259ec854c5fff2ab66251 SHA512 551d61186327c5a085bc6f6e3734d3c06d1dfde5b2888c873e5c7373c1092685e397e724a5b6fb188962beda662be6978a03a3511218466b314afb16ada0d260
+DIST pulseaudio-16.0.tar.xz 1551276 BLAKE2B 54ba5d446bc02246bf842280f577851eb66ff9fed1e1b0d2d03e238796d9d04bc1fc27215b02fdded37441da1747be23d1e03d5a00b79ee3b91eb35c0f76a470 SHA512 42d4968c2dc88f5e39a5358d124e399e40a5abdf815eff387087141bc9dddd217012acb35649a8e0e24a44e8a402d90eb193ce2eef186f7d59550f757a6cc26d
+DIST pulseaudio-16.1.tar.xz 1545596 BLAKE2B 535706abcea2cae39834b23c8bdc37f71b0e633de2d8e43ea4425da97a850b57c2f980c318681cbc86cf1e746200609dad41f8b96ecf4568f86d94aa6831c9a1 SHA512 33b0b4292f05e0882f3ec822cf5720414bb34c523d80fe287b9740d6be219787c562e8024c9b0d9e2ee010771ca72c7ae4f27df1bbef9c9cb6bb6a23cbcc412f
+EBUILD libpulse-16.0-r1.ebuild 5735 BLAKE2B 9cde48b54a8fbf46523c849b06cb7bd7b4d6802fec17c88a863ac69ae4bc7c918f1d58c976c229d2cec80cbf2c19e9b9f447cfb43f9e6b816c7007bc3c16a762 SHA512 45df9f35e826b99b7d0a430e227693e21fbc09d212751999d94fd8fffd55cd56583d1b339dd08f6e089166ac798999e1acd3d54481ce386593324df1f3ef4410
+EBUILD libpulse-16.0.ebuild 5666 BLAKE2B 54aebcba30972a1bdfebde9be49f695a19122d3b95bd1285435a0f787800ca03086692ae94dccf855b36ecf7deeec8e24f1fcf7fc12040fd11d2e25507674c50 SHA512 8cb2bf0bb4e0cf81bc820c6da95a0743b79aa3379b6955e093ba07aa22e5d27e40634d0b1228dc931b7fb0268a5bdf438c6b2d860e1f1525ee3568e2d78c4137
+EBUILD libpulse-16.1.ebuild 5682 BLAKE2B 41c02d5df51af3b1748d57644a7a9506a058ca2c81e1e6006f0317cc79ead05c0c16560b0772c5267baf2e3193b6db3b79bb6b7f0d453957c8a35f72b5548206 SHA512 ab10738fd70e36ce73dd38121416160ab0a545b611514e96cbb6d6de735e542b80668cfb0b01d6cbca5118c72d4b4bcdb8d1a493604a13459bea482dfce64feb
+MISC metadata.xml 925 BLAKE2B 00eb044359e5cbbaa5fdd085a76be9582c1142dc7334ebcfca531975961bbe35bd4d7a3b1f06e760126b0422614103480c1199128a908567dbe477af017f5ae7 SHA512 9c244a9725fa5acf9d1c3e869cd794d0d70dbe29126af877ea5918adf12c9ebfe87576c074db8126d168368ca93bb0e5577912780eb467377ef58d4cf44895bb
diff --git a/media-libs/libpulse/files/pulseaudio-16.0-fix-pactl-volume-command.patch b/media-libs/libpulse/files/pulseaudio-16.0-fix-pactl-volume-command.patch
new file mode 100644
index 000000000000..469aaa345102
--- /dev/null
+++ b/media-libs/libpulse/files/pulseaudio-16.0-fix-pactl-volume-command.patch
@@ -0,0 +1,55 @@
+https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/05c06afa58e30b7958e96766d1e917099c8a4041
+
+From 05c06afa58e30b7958e96766d1e917099c8a4041 Mon Sep 17 00:00:00 2001
+From: Sean Greenslade <sean@seangreenslade.com>
+Date: Sat, 4 Jun 2022 00:24:49 -0700
+Subject: [PATCH] pactl: fix parsing of percentages with decimal points
+
+The logic for detecting which type of volume was given incorrectly interpreted
+any value with a decimal as a VOL_LINEAR. It also could set multiple flags,
+which would put the flags variable into an indeterminate state. Additionally,
+the flags stack variable was uninitialized which could also lead to an
+indeterminate flag state.
+
+Percentages are now prioritized over all other types, and only one type flag
+can be set.
+---
+ src/utils/pactl.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/utils/pactl.c b/src/utils/pactl.c
+index 35163f277..2761ebaaf 100644
+--- a/src/utils/pactl.c
++++ b/src/utils/pactl.c
+@@ -2527,16 +2527,16 @@ static int parse_volume(const char *vol_spec, pa_volume_t *vol, enum volume_flag
+ vs = pa_xstrdup(vol_spec);
+
+ *vol_flags = (pa_startswith(vs, "+") || pa_startswith(vs, "-")) ? VOL_RELATIVE : VOL_ABSOLUTE;
+- if (strchr(vs, '.'))
+- *vol_flags |= VOL_LINEAR;
+ if (pa_endswith(vs, "%")) {
+ *vol_flags |= VOL_PERCENT;
+ vs[strlen(vs)-1] = 0;
+ }
+- if (pa_endswith(vs, "db") || pa_endswith(vs, "dB")) {
++ else if (pa_endswith(vs, "db") || pa_endswith(vs, "dB")) {
+ *vol_flags |= VOL_DECIBEL;
+ vs[strlen(vs)-2] = 0;
+ }
++ else if (strchr(vs, '.'))
++ *vol_flags |= VOL_LINEAR;
+
+ atod_input = vs;
+
+@@ -2597,7 +2597,7 @@ static int parse_volumes(char *args[], unsigned n) {
+
+ volume.channels = n;
+ for (i = 0; i < volume.channels; i++) {
+- enum volume_flags flags;
++ enum volume_flags flags = 0;
+
+ if (parse_volume(args[i], &volume.values[i], &flags) < 0)
+ return -1;
+--
+GitLab
+
diff --git a/media-libs/libpulse/libpulse-16.0-r1.ebuild b/media-libs/libpulse/libpulse-16.0-r1.ebuild
new file mode 100644
index 000000000000..a134ac58d7b4
--- /dev/null
+++ b/media-libs/libpulse/libpulse-16.0-r1.ebuild
@@ -0,0 +1,204 @@
+# 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-multilib optfeature systemd udev
+
+DESCRIPTION="Libraries for PulseAudio clients"
+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}"
+
+LICENSE="LGPL-2.1+"
+
+SLOT="0"
+IUSE="+asyncns dbus doc +glib gtk selinux systemd test valgrind X"
+RESTRICT="!test? ( test )"
+
+# NOTE: libpcre needed in some cases, bug #472228
+# TODO: libatomic_ops is only needed on some architectures and conditions, and then at runtime too
+RDEPEND="
+ dev-libs/libatomic_ops
+ >=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}]
+ virtual/libc
+ asyncns? ( >=net-libs/libasyncns-0.1[${MULTILIB_USEDEP}] )
+ dbus? ( >=sys-apps/dbus-1.4.12[${MULTILIB_USEDEP}] )
+ glib? ( >=dev-libs/glib-2.28.0:2[${MULTILIB_USEDEP}] )
+ gtk? ( x11-libs/gtk+:3 )
+ selinux? ( sec-policy/selinux-pulseaudio )
+ systemd? ( sys-apps/systemd:= )
+ valgrind? ( dev-util/valgrind )
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
+ )
+ || (
+ elibc_glibc? ( virtual/libc )
+ dev-libs/libpcre:3
+ )
+ !<media-sound/pulseaudio-15.0-r100
+"
+
+DEPEND="${RDEPEND}
+ test? ( >=dev-libs/check-0.9.10 )
+ X? ( x11-base/xorg-proto )
+"
+
+# pulseaudio ships a bundled xmltoman, which uses XML::Parser
+BDEPEND="
+ dev-lang/perl
+ dev-perl/XML-Parser
+ sys-devel/gettext
+ sys-devel/m4
+ virtual/libiconv
+ virtual/libintl
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+
+DOCS=( NEWS README )
+
+# patches merged upstream, to be removed with 16.0 bump
+PATCHES=(
+ "${FILESDIR}"/pulseaudio-16.0-fix-pactl-volume-command.patch
+)
+
+src_prepare() {
+ default
+
+ # disable autospawn by client
+ sed -i -e 's:; autospawn = yes:autospawn = no:g' src/pulse/client.conf.in || die
+
+ gnome2_environment_reset
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ --localstatedir="${EPREFIX}"/var
+
+ -Ddaemon=false
+ -Dclient=true
+ $(meson_native_use_bool doc doxygen)
+ -Dgcov=false
+ # tests involve random modules, so just do them for the native # TODO: tests should run always
+ $(meson_native_use_bool test tests)
+ -Ddatabase=simple # Not used for non-daemon, simple database avoids external dep checks
+ -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
+ -Dalsa=disabled
+ $(meson_feature asyncns)
+ -Davahi=disabled
+ -Dbluez5=disabled
+ -Dbluez5-gstreamer=disabled
+ -Dbluez5-native-headset=false
+ -Dbluez5-ofono-headset=false
+ $(meson_feature dbus)
+ -Delogind=disabled
+ -Dfftw=disabled
+ $(meson_feature glib) # WARNING: toggling this likely changes ABI
+ -Dgsettings=disabled
+ -Dgstreamer=disabled
+ $(meson_native_use_feature gtk)
+ -Dhal-compat=false
+ -Dipv6=true
+ -Djack=disabled
+ -Dlirc=disabled
+ -Dopenssl=disabled
+ -Dorc=disabled
+ -Doss-output=disabled
+ -Dsamplerate=disabled # Matches upstream
+ -Dsoxr=disabled
+ -Dspeex=disabled
+ $(meson_native_use_feature systemd)
+ -Dtcpwrap=disabled
+ -Dudev=disabled
+ $(meson_native_use_feature valgrind)
+ $(meson_feature X x11)
+
+ # Echo cancellation
+ -Dadrian-aec=false
+ -Dwebrtc-aec=disabled
+ )
+
+ if multilib_is_native_abi; then
+ # Make padsp work for non-native ABI, supposedly only possible with glibc;
+ # this is used by /usr/bin/padsp that comes from native build, thus we need
+ # this argument for native build
+ if use elibc_glibc; then
+ emesonargs+=( -Dpulsedsp-location="${EPREFIX}"'/usr/\\$$LIB/pulseaudio' )
+ fi
+ else
+ emesonargs+=( -Dman=false )
+ if ! use elibc_glibc; then
+ # Non-glibc multilib is probably non-existent but just in case:
+ ewarn "padsp wrapper for OSS emulation will only work with native ABI applications!"
+ fi
+ fi
+
+ meson_src_configure
+}
+
+multilib_src_compile() {
+ meson_src_compile
+
+ if multilib_is_native_abi; then
+ if use doc; then
+ einfo "Generating documentation ..."
+ meson_src_compile doxygen
+ fi
+ fi
+}
+
+multilib_src_install() {
+ # The files referenced in the DOCS array do not exist in the multilib source directory,
+ # therefore clear the variable when calling the function that will access it.
+ DOCS= meson_src_install
+
+ # 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)
+ bashcomp_alias pactl pulseaudio
+ bashcomp_alias pactl pacmd
+ bashcomp_alias pactl pasuspender
+
+ if multilib_is_native_abi; then
+ if use doc; then
+ einfo "Installing documentation ..."
+ docinto html
+ dodoc -r doxygen/html/.
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die
+}
+
+pkg_postinst() {
+ optfeature_header "PulseAudio can be enhanced by installing the following:"
+ use dbus && optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+}
diff --git a/media-libs/libpulse/libpulse-15.99.1-r1.ebuild b/media-libs/libpulse/libpulse-16.0.ebuild
index 4fc935f42f75..f1409d9fdd36 100644
--- a/media-libs/libpulse/libpulse-15.99.1-r1.ebuild
+++ b/media-libs/libpulse/libpulse-16.0.ebuild
@@ -16,7 +16,7 @@ if [[ ${PV} = 9999 ]]; then
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 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
fi
S="${WORKDIR}/${MY_P}"
@@ -24,7 +24,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2.1+"
SLOT="0"
-IUSE="+asyncns dbus doc +glib gtk selinux systemd tcpd test X"
+IUSE="+asyncns dbus doc +glib gtk selinux systemd test valgrind X"
RESTRICT="!test? ( test )"
# NOTE: libpcre needed in some cases, bug #472228
@@ -39,7 +39,7 @@ RDEPEND="
gtk? ( x11-libs/gtk+:3 )
selinux? ( sec-policy/selinux-pulseaudio )
systemd? ( sys-apps/systemd:= )
- tcpd? ( sys-apps/tcp-wrappers )
+ valgrind? ( dev-util/valgrind )
X? (
x11-libs/libX11[${MULTILIB_USEDEP}]
>=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
@@ -129,9 +129,9 @@ multilib_src_configure() {
-Dsoxr=disabled
-Dspeex=disabled
$(meson_native_use_feature systemd)
- $(meson_native_use_feature tcpd tcpwrap)
+ -Dtcpwrap=disabled
-Dudev=disabled
- -Dvalgrind=auto
+ $(meson_native_use_feature valgrind)
$(meson_feature X x11)
# Echo cancellation
diff --git a/media-libs/libpulse/libpulse-16.1.ebuild b/media-libs/libpulse/libpulse-16.1.ebuild
new file mode 100644
index 000000000000..a3bd8e6f7528
--- /dev/null
+++ b/media-libs/libpulse/libpulse-16.1.ebuild
@@ -0,0 +1,203 @@
+# 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-multilib optfeature systemd udev
+
+DESCRIPTION="Libraries for PulseAudio clients"
+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}"
+
+LICENSE="LGPL-2.1+"
+
+SLOT="0"
+IUSE="+asyncns dbus doc +glib gtk selinux systemd test valgrind X"
+RESTRICT="!test? ( test )"
+
+# NOTE: libpcre needed in some cases, bug #472228
+# TODO: libatomic_ops is only needed on some architectures and conditions, and then at runtime too
+RDEPEND="
+ dev-libs/libatomic_ops
+ >=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}]
+ virtual/libc
+ asyncns? ( >=net-libs/libasyncns-0.1[${MULTILIB_USEDEP}] )
+ dbus? ( >=sys-apps/dbus-1.4.12[${MULTILIB_USEDEP}] )
+ glib? ( >=dev-libs/glib-2.28.0:2[${MULTILIB_USEDEP}] )
+ gtk? ( x11-libs/gtk+:3 )
+ selinux? ( sec-policy/selinux-pulseaudio )
+ systemd? ( sys-apps/systemd:= )
+ valgrind? ( dev-util/valgrind )
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
+ )
+ || (
+ elibc_glibc? ( virtual/libc )
+ dev-libs/libpcre:3
+ )
+ !<media-sound/pulseaudio-15.0-r100
+"
+
+DEPEND="${RDEPEND}
+ test? ( >=dev-libs/check-0.9.10 )
+ X? ( x11-base/xorg-proto )
+"
+
+# pulseaudio ships a bundled xmltoman, which uses XML::Parser
+BDEPEND="
+ dev-lang/perl
+ dev-perl/XML-Parser
+ sys-devel/gettext
+ sys-devel/m4
+ virtual/libiconv
+ virtual/libintl
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+
+DOCS=( NEWS README )
+
+# patches merged upstream, to be removed with 16.2 or later bump
+PATCHES=(
+)
+
+src_prepare() {
+ default
+
+ # disable autospawn by client
+ sed -i -e 's:; autospawn = yes:autospawn = no:g' src/pulse/client.conf.in || die
+
+ gnome2_environment_reset
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ --localstatedir="${EPREFIX}"/var
+
+ -Ddaemon=false
+ -Dclient=true
+ $(meson_native_use_bool doc doxygen)
+ -Dgcov=false
+ # tests involve random modules, so just do them for the native # TODO: tests should run always
+ $(meson_native_use_bool test tests)
+ -Ddatabase=simple # Not used for non-daemon, simple database avoids external dep checks
+ -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
+ -Dalsa=disabled
+ $(meson_feature asyncns)
+ -Davahi=disabled
+ -Dbluez5=disabled
+ -Dbluez5-gstreamer=disabled
+ -Dbluez5-native-headset=false
+ -Dbluez5-ofono-headset=false
+ $(meson_feature dbus)
+ -Delogind=disabled
+ -Dfftw=disabled
+ $(meson_feature glib) # WARNING: toggling this likely changes ABI
+ -Dgsettings=disabled
+ -Dgstreamer=disabled
+ $(meson_native_use_feature gtk)
+ -Dhal-compat=false
+ -Dipv6=true
+ -Djack=disabled
+ -Dlirc=disabled
+ -Dopenssl=disabled
+ -Dorc=disabled
+ -Doss-output=disabled
+ -Dsamplerate=disabled # Matches upstream
+ -Dsoxr=disabled
+ -Dspeex=disabled
+ $(meson_native_use_feature systemd)
+ -Dtcpwrap=disabled
+ -Dudev=disabled
+ $(meson_native_use_feature valgrind)
+ $(meson_feature X x11)
+
+ # Echo cancellation
+ -Dadrian-aec=false
+ -Dwebrtc-aec=disabled
+ )
+
+ if multilib_is_native_abi; then
+ # Make padsp work for non-native ABI, supposedly only possible with glibc;
+ # this is used by /usr/bin/padsp that comes from native build, thus we need
+ # this argument for native build
+ if use elibc_glibc; then
+ emesonargs+=( -Dpulsedsp-location="${EPREFIX}"'/usr/\\$$LIB/pulseaudio' )
+ fi
+ else
+ emesonargs+=( -Dman=false )
+ if ! use elibc_glibc; then
+ # Non-glibc multilib is probably non-existent but just in case:
+ ewarn "padsp wrapper for OSS emulation will only work with native ABI applications!"
+ fi
+ fi
+
+ meson_src_configure
+}
+
+multilib_src_compile() {
+ meson_src_compile
+
+ if multilib_is_native_abi; then
+ if use doc; then
+ einfo "Generating documentation ..."
+ meson_src_compile doxygen
+ fi
+ fi
+}
+
+multilib_src_install() {
+ # The files referenced in the DOCS array do not exist in the multilib source directory,
+ # therefore clear the variable when calling the function that will access it.
+ DOCS= meson_src_install
+
+ # 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)
+ bashcomp_alias pactl pulseaudio
+ bashcomp_alias pactl pacmd
+ bashcomp_alias pactl pasuspender
+
+ if multilib_is_native_abi; then
+ if use doc; then
+ einfo "Installing documentation ..."
+ docinto html
+ dodoc -r doxygen/html/.
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die
+}
+
+pkg_postinst() {
+ optfeature_header "PulseAudio can be enhanced by installing the following:"
+ use dbus && optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+}
diff --git a/media-libs/libpulse/metadata.xml b/media-libs/libpulse/metadata.xml
index afe3111f5cf9..9f2ed729d5f8 100644
--- a/media-libs/libpulse/metadata.xml
+++ b/media-libs/libpulse/metadata.xml
@@ -1,9 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
+ <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>
<use>
<flag name="glib">
@@ -13,5 +21,6 @@
</flag>
<flag name="asyncns">Use libasyncns for asynchronous name resolution.</flag>
<flag name="doc">Build the doxygen-described API documentation.</flag>
+ <flag name="valgrind">Compile in valgrind memory hints</flag>
</use>
</pkgmetadata>