summaryrefslogtreecommitdiff
path: root/media-libs/libpulse
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/libpulse')
-rw-r--r--media-libs/libpulse/Manifest3
-rw-r--r--media-libs/libpulse/libpulse-16.1-r4.ebuild220
-rw-r--r--media-libs/libpulse/libpulse-16.1-r5.ebuild215
-rw-r--r--media-libs/libpulse/libpulse-16.99.1-r1.ebuild210
4 files changed, 0 insertions, 648 deletions
diff --git a/media-libs/libpulse/Manifest b/media-libs/libpulse/Manifest
index 74233d3c7b85..daaca29522bc 100644
--- a/media-libs/libpulse/Manifest
+++ b/media-libs/libpulse/Manifest
@@ -9,9 +9,6 @@ DIST pulseaudio-16.1.tar.xz 1545596 BLAKE2B 535706abcea2cae39834b23c8bdc37f71b0e
DIST pulseaudio-16.99.1.tar.xz 1565020 BLAKE2B 02aad918e2b76dcf250bd55e03460206c7781cd1b43aa2efe46b25258626892e07f478b9966fa5027c9ae0a370145f5204dba05d2f5dfbfd3ba956225ccb3cad SHA512 1a3347e4c892ba0e321d39184f8bd52cfd16f59e66e52a753d6f706dfbf3f170f87b7ff27c0a6cdf3e462e6dd531ecde6829d48a374d0be2622688fb85abaac2
DIST pulseaudio-17.0.tar.xz 1566556 BLAKE2B 781ece3d507916aa681d3b0132689730a621b4d92e45f86570e4d2fdebc4c0025ebe7f7a05046545f9b26caca513e8975f12498fa314524bc67eacaea72842fa SHA512 be0aec46204d9c9188a796fbe41b4cf6f0f5e6b16fa08ce359b8f0f51253f0ade364b89448bbf5faa2af7e59deb6c72194734c3233944250dcfd4f31968a5e97
EBUILD libpulse-16.1-r2.ebuild 5882 BLAKE2B 82a1b54af068c843e675d0c1e1caae6b658aed9ba84cf47813a404509eabcd10fa76cc571c3c8f1a47849b0afacb5e77bf6f8302efa1b251ab390471b0a17906 SHA512 d5ea7bdc3720b275ddc637f7ed5e60da10386cfb92bc124369d24a35cf334a0da3784cc7cd9ae6c5792bca1d2c0f83bdf4afa642cb0b88aa8c5c48410f8439cb
-EBUILD libpulse-16.1-r4.ebuild 6469 BLAKE2B 2b1be94822fb82f06d6bbc5c4dc3a5031444f66a9ee9b1dc19a427f672e84d156bcdc547aec7384eaab35d3206b63919608399cf70ccd34e918084ccc4abea41 SHA512 a4442c8c838a8d8c3a13a25dd7765c0299d8952b5af56b5c46ebd9c0589e157925ec85c63ba509dc2ab4fad488329949de76fa300eb7cf78562ad5a9e71d670a
-EBUILD libpulse-16.1-r5.ebuild 6252 BLAKE2B 7aa539bc2db1ce828946a4ce92c3420ebd7b8ad4caa17e2364c878b9822473986f44ca5dfedd6d62b98ab780ab3085d26ddca99df53c464f09f04cb2f875f9f2 SHA512 9d99f50cc467148b05ccf0ae8566209be71ad5fd8d841cd67adb600cfb21131e55ae42cf80570c5514ea50b1929481986c9313fb43d4a7a7b9a82965162f27e5
-EBUILD libpulse-16.99.1-r1.ebuild 5939 BLAKE2B 6015e5cdd36382c088b5ec3494ce10d4a00225bea7352a27dd91b6239ff6480405fda646fca640b9106da9eb56c2989bc5ea496fbaaa1ce086a244629250b64d SHA512 7f7ee2fda432abf2c9734fb9896d9122f1e1dc68eb8dbe8b48b61a1aa81592bc4194e68bf21af1874ec53d28a7ee8c9abd804ba43988c766fce0e17fec729a03
EBUILD libpulse-16.99.1.ebuild 6149 BLAKE2B 37a350786d2d957805df97a41692a7eb013c45700ff82bbf7b8e9a79cde0c53af7d8088f24e6c7ec4b783b87dc715c2b8fa1b8e0c10b77d72e5d5a00712aafe2 SHA512 292d971ae96757462068c1b7c83b2bff54a27ecbdac0c7dd8740c47d83318a8bf84e09ca710c1acec9d46fb88088936b3e6fb7a6c585cf4ead5fc7ec5adc28fd
EBUILD libpulse-17.0.ebuild 5844 BLAKE2B 573d917ef90bfd27d4534e08e869740e8997a3e1882c5220906ae8edb304b3ba0759f3b310f214e01d5d6f841d92f5f9866eb5ea05b95674894ad7ce363adb51 SHA512 28c600b668b1358dbc5b26354d4d5ab7d21c84d730b24e4d7a59a85165d23f9e6913159d395220834a69fae82bc529c4974e54f4a6e8819805a809c7a5dba02e
MISC metadata.xml 961 BLAKE2B 0aea6824645ccb54d4da477c5f65728abe5100176c5bb05f30c30704b0209f83dccda23380de7231a5fc0a5ffb31650c96d024b4d0511ced9806fc5652f51f9f SHA512 408206d9da60312898a87c2b400292178bd20b57b7a17b74e768c154ec3fc95f9ec9412ba497a03b32558e8ffaa21e8a50b0478c8908930f90ecd9b6aa81548e
diff --git a/media-libs/libpulse/libpulse-16.1-r4.ebuild b/media-libs/libpulse/libpulse-16.1-r4.ebuild
deleted file mode 100644
index 81ba64e25627..000000000000
--- a/media-libs/libpulse/libpulse-16.1-r4.ebuild
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright 1999-2024 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 flag-o-matic gnome2-utils meson-multilib optfeature systemd toolchain-funcs 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}]
- asyncns? ( >=net-libs/libasyncns-0.1[${MULTILIB_USEDEP}] )
- dbus? ( >=sys-apps/dbus-1.4.12[${MULTILIB_USEDEP}] )
- elibc_mingw? ( dev-libs/libpcre:3 )
- 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-debug/valgrind )
- X? (
- x11-libs/libX11[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
- )
- !<media-sound/pulseaudio-15.0-r100
- !<media-sound/pulseaudio-daemon-16.1-r8
-"
-
-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-text/doxygen )
-"
-PDEPEND="
- || (
- media-video/pipewire[sound-server(+)]
- media-sound/pulseaudio-daemon
- media-sound/pulseaudio[daemon(+)]
- )
-"
-
-DOCS=( NEWS README )
-
-# patches merged upstream, to be removed with 16.2 or later bump
-PATCHES=(
- "${FILESDIR}"/pulseaudio-16.1-memfd-cleanup.patch
- "${FILESDIR}"/pulseaudio-16.1-proplist-util-without-gdkx.patch
- "${FILESDIR}"/pulseaudio-16.1-smoother-start-paused.patch
- "${FILESDIR}"/pulseaudio-16.1-smoother-time-calculation.patch
- "${FILESDIR}"/pulseaudio-16.1-fix-memblock-alignment.patch
- "${FILESDIR}"/pulseaudio-16.1-add-more-standard-samplerates.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() {
- # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs
- # https://github.com/gentoo/gentoo/pull/28355
- # mold needs this too but right now tc-ld-is-mold is also not available
- if tc-ld-is-lld; then
- append-ldflags -Wl,--undefined-version
- fi
-
- 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-16.1-r5.ebuild b/media-libs/libpulse/libpulse-16.1-r5.ebuild
deleted file mode 100644
index 2646719ac7b9..000000000000
--- a/media-libs/libpulse/libpulse-16.1-r5.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2024 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 flag-o-matic 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}]
- asyncns? ( >=net-libs/libasyncns-0.1[${MULTILIB_USEDEP}] )
- dbus? ( >=sys-apps/dbus-1.4.12[${MULTILIB_USEDEP}] )
- elibc_mingw? ( dev-libs/libpcre:3 )
- 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-debug/valgrind )
- X? (
- x11-libs/libX11[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
- )
- !<media-sound/pulseaudio-15.0-r100
- !<media-sound/pulseaudio-daemon-16.1-r8
-"
-
-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-text/doxygen )
-"
-PDEPEND="
- || (
- media-video/pipewire[sound-server(+)]
- media-sound/pulseaudio-daemon
- media-sound/pulseaudio[daemon(+)]
- )
-"
-
-DOCS=( NEWS README )
-
-# patches merged upstream, to be removed with 16.2 or later bump
-PATCHES=(
- "${FILESDIR}"/pulseaudio-16.1-memfd-cleanup.patch
- "${FILESDIR}"/pulseaudio-16.1-proplist-util-without-gdkx.patch
- "${FILESDIR}"/pulseaudio-16.1-smoother-start-paused.patch
- "${FILESDIR}"/pulseaudio-16.1-smoother-time-calculation.patch
- "${FILESDIR}"/pulseaudio-16.1-fix-memblock-alignment.patch
- "${FILESDIR}"/pulseaudio-16.1-add-more-standard-samplerates.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() {
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- 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-16.99.1-r1.ebuild b/media-libs/libpulse/libpulse-16.99.1-r1.ebuild
deleted file mode 100644
index cf354c8da71b..000000000000
--- a/media-libs/libpulse/libpulse-16.99.1-r1.ebuild
+++ /dev/null
@@ -1,210 +0,0 @@
-# Copyright 1999-2024 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 flag-o-matic 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}]
- asyncns? ( >=net-libs/libasyncns-0.1[${MULTILIB_USEDEP}] )
- dbus? ( >=sys-apps/dbus-1.4.12[${MULTILIB_USEDEP}] )
- elibc_mingw? ( dev-libs/libpcre:3 )
- 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-debug/valgrind )
- X? (
- x11-libs/libX11[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
- )
- !<media-sound/pulseaudio-16.1
- !<media-sound/pulseaudio-daemon-16.99.1
-"
-
-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-text/doxygen )
-"
-PDEPEND="
- || (
- media-video/pipewire[sound-server(+)]
- media-sound/pulseaudio-daemon
- media-sound/pulseaudio[daemon(+)]
- )
-"
-
-DOCS=( NEWS README )
-
-# patches merged upstream, to be removed with 16.99.2 or later bump
-PATCHES=(
- "${FILESDIR}"/pulseaudio-16.99.1-memfd-compat.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() {
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- 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
-}