summaryrefslogtreecommitdiff
path: root/media-libs/libpulse
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-03 13:56:25 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-03 13:56:25 +0000
commit94b475013eb88e152032d5f8c684a7d9ce91e319 (patch)
tree09d40138872fbeea80b96af571a1da4de80bcf73 /media-libs/libpulse
parent8d3527b916ca7e0a2c8d9b8d064253a2eda02c1f (diff)
gentoo auto-resync : 03:01:2024 - 13:56:25
Diffstat (limited to 'media-libs/libpulse')
-rw-r--r--media-libs/libpulse/Manifest2
-rw-r--r--media-libs/libpulse/libpulse-16.1-r5.ebuild215
-rw-r--r--media-libs/libpulse/libpulse-16.99.1-r1.ebuild210
3 files changed, 427 insertions, 0 deletions
diff --git a/media-libs/libpulse/Manifest b/media-libs/libpulse/Manifest
index cee0424a7914..bd53b0aeba81 100644
--- a/media-libs/libpulse/Manifest
+++ b/media-libs/libpulse/Manifest
@@ -9,5 +9,7 @@ DIST pulseaudio-16.1.tar.xz 1545596 BLAKE2B 535706abcea2cae39834b23c8bdc37f71b0e
DIST pulseaudio-16.99.1.tar.xz 1565020 BLAKE2B 02aad918e2b76dcf250bd55e03460206c7781cd1b43aa2efe46b25258626892e07f478b9966fa5027c9ae0a370145f5204dba05d2f5dfbfd3ba956225ccb3cad SHA512 1a3347e4c892ba0e321d39184f8bd52cfd16f59e66e52a753d6f706dfbf3f170f87b7ff27c0a6cdf3e462e6dd531ecde6829d48a374d0be2622688fb85abaac2
EBUILD libpulse-16.1-r2.ebuild 5880 BLAKE2B 78dbe7da864b8c36cdc5730a98260b35a58ea0beaca798f86a63f9124b71f2ee2a449cb13f5c4cc3111c5298ecc900291e9c0d457c8d765be43bdd09d7e7c315 SHA512 3bb7b39fb201c202f3b20e605e37774b525a0a78979f8a24eabd464ae0a5b8314fc9362a9f9d8a47a43f3d534ddc5a9bd39b3874f3b9cc5ea402f7f897d12a38
EBUILD libpulse-16.1-r4.ebuild 6467 BLAKE2B a56b3974cb6be676856f1fd99596603907a2f3024329f6b9db3edf941a3693ba0af4c06a9cc6081ba546b698a2f9e99b518739a4f6eb9944c1a0605ba093dfd0 SHA512 40a7b8969aec1d4588e51c989325d57517e3ab74833c12e0b80cd2165491334388c2873c53e14a4f26c5a2e2872cf595de1d1593f30a8484b91ccb62b55a21bd
+EBUILD libpulse-16.1-r5.ebuild 6250 BLAKE2B 7a2e13bacce19e0165af2ae5d070639123ce5ad05f3bc9ed4f7c4f795df5e7001822f6e11508776a200aa2294b5e4dc0d0bf91750d8008127ceb145209b66074 SHA512 e70b96b5dc488d1b7c8163a4d2afa93d29af5b0b9593b642e883d2f5ae41f7b84e37720e5aa0fc4df7e4f32a799d81a4a82af8a09e5df8c62e9c0940cc14a350
+EBUILD libpulse-16.99.1-r1.ebuild 5937 BLAKE2B e006620adec25811318cd50b9e137268ed27c5c298d73891f828301df2b561c6d9aa627bd9e9847d54768eb389b35a28685257f00d589fd2974686ace4385b0b SHA512 4eff4ad5864650b07eb096558dea9a696f572a8489b3a028d3ae91921f7359389747649876f60f5d00cbc595ed79751aebb97b0153344e8c60a1c1be5b7f7479
EBUILD libpulse-16.99.1.ebuild 6154 BLAKE2B 765f34cc85e5265aa52a05a4b28256ddae953906b4a7713d5fdfd72c5c61cbca351ec876228c08d572fe73518b8dcecbca5d387bc0192ddeb3699fdb00b2a2b4 SHA512 d9af02a4d83d9990dbc9c000a0097874551c96884c2496e84788069adb15dde26816075b0b9aa5036b9022dc235dc23d1b24c8294887232597711bd359ad694f
MISC metadata.xml 961 BLAKE2B 0aea6824645ccb54d4da477c5f65728abe5100176c5bb05f30c30704b0209f83dccda23380de7231a5fc0a5ffb31650c96d024b4d0511ced9806fc5652f51f9f SHA512 408206d9da60312898a87c2b400292178bd20b57b7a17b74e768c154ec3fc95f9ec9412ba497a03b32558e8ffaa21e8a50b0478c8908930f90ecd9b6aa81548e
diff --git a/media-libs/libpulse/libpulse-16.1-r5.ebuild b/media-libs/libpulse/libpulse-16.1-r5.ebuild
new file mode 100644
index 000000000000..bcf2a2ee25ce
--- /dev/null
+++ b/media-libs/libpulse/libpulse-16.1-r5.ebuild
@@ -0,0 +1,215 @@
+# 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-util/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-doc/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
new file mode 100644
index 000000000000..680ac1f67b16
--- /dev/null
+++ b/media-libs/libpulse/libpulse-16.99.1-r1.ebuild
@@ -0,0 +1,210 @@
+# 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-util/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-doc/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
+}