summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2021-08-27 11:18:39 +0200
committerLars Wendler <polynomial-c@gentoo.org>2021-08-27 12:49:47 +0200
commit8eb357fa7cdb4377fa47c7dfedefa247ff992724 (patch)
treeedb34a4a716d43b90c9aaade87744ed88a9afb10 /media-video/pipewire
parentnet-misc/curl: enable NTLM unconditionally (diff)
downloadgentoo-8eb357fa7cdb4377fa47c7dfedefa247ff992724.tar.gz
gentoo-8eb357fa7cdb4377fa47c7dfedefa247ff992724.tar.bz2
gentoo-8eb357fa7cdb4377fa47c7dfedefa247ff992724.zip
media-video/pipewire: Removed old
Removed unused local USE descriptions Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'media-video/pipewire')
-rw-r--r--media-video/pipewire/Manifest7
-rw-r--r--media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch32
-rw-r--r--media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch20
-rw-r--r--media-video/pipewire/metadata.xml6
-rw-r--r--media-video/pipewire/pipewire-0.3.22.ebuild128
-rw-r--r--media-video/pipewire/pipewire-0.3.25-r1.ebuild236
-rw-r--r--media-video/pipewire/pipewire-0.3.26-r1.ebuild243
-rw-r--r--media-video/pipewire/pipewire-0.3.27-r2.ebuild269
-rw-r--r--media-video/pipewire/pipewire-0.3.28-r1.ebuild270
-rw-r--r--media-video/pipewire/pipewire-0.3.29-r1.ebuild271
-rw-r--r--media-video/pipewire/pipewire-0.3.31-r1.ebuild274
11 files changed, 0 insertions, 1756 deletions
diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 70f935c14285..cbbf718c524c 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,10 +1,3 @@
-DIST pipewire-0.3.22.tar.gz 1263844 BLAKE2B 3fb90c0b1c17ed108e8c390873f5c4527e1ff9241d1c5964ad5b7c01fbfefda901ef1228f178cf3c9899e6e8e75969a470f8fba63473ff203cba612c6c0553ca SHA512 a6587e0afd5c90be1733ecf62c6fc68e735ab3b84f2cbbf844bbe1be93e7a23dee07b041ed6b273cab6ab207d2388ae6f2027d0380928555a0155a7cc9ca4a7e
-DIST pipewire-0.3.25.tar.gz 1351257 BLAKE2B 3c4d6d98e3255df8baf50eb548bcf77b5c027a50f6acedd83cd63481ed5b642c174589f34314f150b07116cea8a3458c3f8b770df4081585d7f75cc8dde4decd SHA512 0f84be21bfcd70f25900c53a8ce399c29ce2d4d10f8b56e5103603cf0c80673aab0b16492e55b42985283adf46343cdca01626225db85a2263f06c309f68f2d7
-DIST pipewire-0.3.26.tar.gz 1447673 BLAKE2B 67feb1288fcdc9ac5578b97ab2567b46a7431921291584bc9db2c2e60db074c3a61c3af9859d3b2f9044cfba6c15e9bfde9edc001b753f8fc47965eb55d751c8 SHA512 d771956a42801a6e07fac48a175363eb4107a9fba13d649ff5c2cdc40044c84a61bf56050783507f6dd8efae8c59a2be07ec67433827335ae60f8116c4a4e178
-DIST pipewire-0.3.27.tar.gz 1459913 BLAKE2B b6db73de85c41932b630e62b3dcc589529ae5457cae6731a8ec5db50f20b541e7e9596976a368c4bb654b1443071c53f8fe4a9ddfc1ee8a0ecc04d69b683456a SHA512 a2df1df8e43846b91fbeedeb1cda9c73b970ac9de58d8b4e97ada54ee74a8f26a168504289c7392c94cc7ea54aa01ada4791c66a5d3159a2bc980df633f6bcfe
-DIST pipewire-0.3.28.tar.gz 1474219 BLAKE2B d20b39c8ed49cd44f2109aab6453aac547ff66dc2ef4a52fb71fea27eb07920efc58498e5ddd82e9f6d86981185e37313748d9157c9a09a3ae1e8ae48d5d45d6 SHA512 f2ed23609c6a45fb80f54caabaa304ba4f318c905a28350c89c65f179a95cc2022f1acbb0c2ec558baf4dc6bcc5623b8daa6678d52cdb9179a88c67b6c1fe0ff
-DIST pipewire-0.3.29.tar.gz 1504935 BLAKE2B fe3984ec4b02fe91683d382e3891e174748b52c5e2f609dc838837f1ac0fea736e06395a022b8ec152fe015cca24c54d4c1896acde3a2ac66eb700dc2336fe4f SHA512 bc163ad3e2d7696295fd3720e8f9cc4d478a55c0694c0faa03a40333e3b65fcbff27e4e296eb9dd0191ca2782e04934915c46e04a2444b458491cd2905823ddd
DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3
-DIST pipewire-0.3.31.tar.gz 1594284 BLAKE2B 0ff358c53ea4357a72ac58ee45ccac792161d3ddd7a9dbcd6933be88e0ddc5d9c49468a3b1eb0cdf9ea81ec4272ad53078f6cae1fd20358bbeed108139e217ce SHA512 ff21e281bb3e5f6da1001e0c64b33368e96d31f0ec2d395cdfcfac105b0442d8fedd2225e6e5d1c93fdbd5e0108accecebbb7c294c55803a4ea853f1efa0c069
DIST pipewire-0.3.32.tar.gz 1604622 BLAKE2B cab83a17a2b27f710e1377a2ad2ad7003053ef3e8b55423362f0b428e22d52c2ce564da00aab71cc93262d4cb21f239fffea195d05937fdf3489dc540b77d58d SHA512 8a7fe26a78071fdd8d4c9e2d9bf3791af8e0cb53b976b45d39dcab4ad08196808f416911fb1b366cc85e3fa80592ec79c4e4556bb3a390f4a10229b4bf9893f7
DIST pipewire-0.3.33.tar.gz 1629559 BLAKE2B de48956ac87ed6d63a08dd354b1e4abf81b9db99825ca65cbb5b522e71eb6920b35173e1c3abd9a710c28709e2b0a459db67654cfeac42149cdfa91c84833a8b SHA512 bc3d5658d6fda11dd55f22ba5293b4ff6c3e9a8d083b0cf7b3356bc18f4f65967557602a0d6603a2a2a548ecb42c6b7fbb9d315ed0fce435f4bb884ab4dd263b
diff --git a/media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch b/media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch
deleted file mode 100644
index 9c7a55c95e26..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.25-fix-docdir-path.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/doc/meson.build b/doc/meson.build
-index 05c7ed35..ce9b52ea 100644
---- a/doc/meson.build
-+++ b/doc/meson.build
-@@ -24,11 +24,14 @@ doxyfile = configure_file(input: 'Doxyfile.in',
- output: 'Doxyfile',
- configuration: doxyfile_conf)
-
--docdir = join_paths(pipewire_datadir, 'doc')
-+docdir = get_option('docdir')
-+if docdir == ''
-+ docdir = join_paths(pipewire_datadir, 'doc', meson.project_name())
-+endif
-
- html_target = custom_target('pipewire-docs',
- input: [ doxyfile ],
- output: [ 'html' ],
- command: [ doxygen, doxyfile ],
- install: true,
-- install_dir: join_paths(docdir, 'pipewire'))
-+ install_dir: docdir)
-diff --git a/meson_options.txt b/meson_options.txt
-index 858283f2..d51e693f 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,3 +1,6 @@
-+option('docdir',
-+ type : 'string',
-+ description : 'Directory for installing documentation to (defaults to pipewire_datadir/doc/meson.project_name() )')
- option('docs',
- description: 'Build documentation',
- type: 'feature',
diff --git a/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch b/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch
deleted file mode 100644
index f624191b4420..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.28-revert-openaptx-restriction.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Revert "openaptx: Blacklist >= 0.2.1 due to license change"
-
-This reverts commit d08b6fac6bec0d334ee9fc785d551a67832f95fe.
-
-Doesn't apply to us.
-
-Bug: https://bugs.gentoo.org/785634
-
---- a/spa/meson.build
-+++ b/spa/meson.build
-@@ -22,7 +22,7 @@ if not get_option('spa-plugins').disabled()
- sbc_dep = dependency('sbc', required: get_option('bluez5'))
- ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac'))
- ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
-- aptx_dep = dependency('libopenaptx', version : '< 0.2.1', required : get_option('bluez5-codec-aptx'))
-+ aptx_dep = dependency('libopenaptx', required : get_option('bluez5-codec-aptx'))
- fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac'))
- avcodec_dep = dependency('libavcodec', required: get_option('ffmpeg'))
- jack_dep = dependency('jack', version : '>= 1.9.10', required: get_option('jack'))
-
diff --git a/media-video/pipewire/metadata.xml b/media-video/pipewire/metadata.xml
index d199e8a9255e..621d03ab1955 100644
--- a/media-video/pipewire/metadata.xml
+++ b/media-video/pipewire/metadata.xml
@@ -19,15 +19,9 @@
<doc>https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home</doc>
</upstream>
<use>
- <flag name="aac">AAC over Bluetooth (iPhone compatible headphones)</flag>
- <flag name="aptx">aptX (HD) over Bluetooth (many Android compatible headphones)</flag>
<flag name="extra">Build pw-cat/pw-play/pw-record</flag>
- <flag name="ffmpeg">Builds an unsupported SPA (file a Gentoo bug if you need this)</flag>
- <flag name="jack">Enable SPA JACK plugin and emulation to be able to run JACK applications on top of PipeWire</flag>
<flag name="jack-client">Install a plugin for running PipeWire as a JACK client</flag>
<flag name="jack-sdk">Use PipeWire as JACK replacement</flag>
- <flag name="ldac">LDAC over Bluetooth (primarily Sony headphones)</flag>
<flag name="pipewire-alsa">Replace PulseAudio's ALSA plugin with PipeWire's plugin</flag>
- <flag name="vulkan">Uses Vulkan compute shaders to provide a CGI video source</flag>
</use>
</pkgmetadata>
diff --git a/media-video/pipewire/pipewire-0.3.22.ebuild b/media-video/pipewire/pipewire-0.3.22.ebuild
deleted file mode 100644
index 882c564f08a0..000000000000
--- a/media-video/pipewire/pipewire-0.3.22.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://github.com/PipeWire/pipewire.git"
- EGIT_BRANCH="work"
- inherit git-r3
-else
- SRC_URI="https://github.com/PipeWire/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0.3"
-IUSE="bluetooth debug doc ffmpeg gstreamer jack sdl sndfile systemd test vulkan X"
-
-BDEPEND="
- app-doc/xmltoman
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-RDEPEND="
- >=media-libs/alsa-lib-1.1.7
- sys-apps/dbus
- virtual/libudev
- bluetooth? (
- media-libs/sbc
- net-wireless/bluez:=
- )
- ffmpeg? ( media-video/ffmpeg:= )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack? ( >=media-sound/jack2-1.9.10:2 )
- sdl? ( media-libs/libsdl2 )
- sndfile? ( >=media-libs/libsndfile-1.0.20 )
- systemd? ( sys-apps/systemd )
- vulkan? ( media-libs/vulkan-loader )
- X? ( x11-libs/libX11 )
-"
-DEPEND="${RDEPEND}
- vulkan? ( dev-util/vulkan-headers )
-"
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-RESTRICT="!test? ( test )"
-
-src_prepare() {
- spa_use() {
- if ! in_iuse ${1} || ! use ${1}; then
- sed -e "/^add-spa-lib.*${1}/s/^/#${2-$1}-disabled-by-USE-no-${1}\:/" \
- -e "/^load-module.*${1}/s/^/#${2-$1}-disabled-by-USE-no-${1}\:/" \
- -i src/daemon/pipewire.conf.in || die
- fi
- }
-
- default
- spa_use libcamera
- spa_use rtkit
- spa_use bluetooth bluez5
- spa_use jack
- spa_use vulkan
-}
-
-src_configure() {
- local emesonargs=(
- -Dexamples=true # contains required pipewire-media-session
- -Dman=true
- -Dspa-plugins=true
- --buildtype=$(usex debug debugoptimized plain)
- # alsa plugin and jack emulation
- -Dpipewire-alsa=true
- $(meson_use jack pipewire-jack)
- # spa-plugins
- # we install alsa support unconditionally
- $(meson_use bluetooth bluez5)
- $(meson_use ffmpeg)
- $(meson_use jack)
- $(meson_use vulkan)
- # libcamera is not packaged
- # misc
- $(meson_use doc docs)
- $(meson_use gstreamer)
- $(meson_use gstreamer gstreamer-device-provider)
- $(meson_feature sdl sdl2)
- $(meson_feature sndfile)
- $(meson_use systemd)
- $(meson_use test test)
- $(meson_use test tests)
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
-
-# # TODO: this breaks alsa users
-# if use alsa; then
-# dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
-# fi
-}
-
-pkg_postinst() {
- elog "Package has optional sys-auth/rtkit RUNTIME support that may be disabled"
- elog "by setting DISABLE_RTKIT env var."
- elog "To enable rtkit, uncomment the load-module line in /etc/pipewire/pipewire.conf"
- elog
- if use jack; then
- elog "Please note that even though the libraries for JACK emulation have"
- elog "been installed, this ebuild is not yet wired up to replace a JACK server."
- elog
- fi
- elog "Read INSTALL.md for information about ALSA plugin or JACK/PulseAudio emulation."
-}
diff --git a/media-video/pipewire/pipewire-0.3.25-r1.ebuild b/media-video/pipewire/pipewire-0.3.25-r1.ebuild
deleted file mode 100644
index 83afc679686b..000000000000
--- a/media-video/pipewire/pipewire-0.3.25-r1.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson optfeature udev
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-# EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0.3"
-IUSE="aac aptx bluetooth doc extra gstreamer jack-client ldac pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
- aac? ( bluetooth )
- aptx? ( bluetooth )
- ldac? ( bluetooth )
-"
-
-BDEPEND="
- app-doc/xmltoman
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-RDEPEND="
- media-libs/alsa-lib
- sys-apps/dbus
- sys-libs/ncurses:=[unicode(+)]
- virtual/libudev
- bluetooth? (
- aac? ( media-libs/fdk-aac )
- aptx? ( media-libs/libopenaptx )
- ldac? ( media-libs/libldac )
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7
- || (
- media-plugins/alsa-plugins[-pulseaudio]
- !media-plugins/alsa-plugins
- )
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[pulseaudio] )
- systemd? ( sys-apps/systemd )
- v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-# media-video/ffmpeg:=
-# media-libs/libsdl2
-# >=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-# >=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.25-fix-docdir-path.patch
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
- default
-
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
- fi
-}
-
-src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
- $(meson_feature doc docs)
- -Dexamples=enabled # Disabling this implicitly disables -Dmedia-session (not good)
- -Dmedia-session=enabled
- -Dman=enabled
- $(meson_feature test tests)
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
- $(meson_feature gstreamer)
- $(meson_feature gstreamer gstreamer-device-provider)
- $(meson_feature systemd) # Also covers logind integration
- -Dsystemd-system-service=disabled # Matches upstream
- $(meson_feature systemd systemd-user-service)
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
- #-Dlibjack-path="" # Where to install libjack.so et al (if an absolute path is used, remember to prefix it with ${EROOT} or similar!); setting this will also break pw-jack's multilib support (but presumably that's okay as the intended use would be to replace system's libraries making the loader irrelevant)
- -Dspa-plugins=enabled
- -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
- -Daudiomixer=enabled # Matches upstream
- -Daudioconvert=enabled # Matches upstream
- $(meson_feature bluetooth bluez5)
- $(meson_feature bluetooth bluez5-backend-hsp-native)
- $(meson_feature bluetooth bluez5-backend-hfp-native)
- $(meson_feature bluetooth bluez5-backend-ofono)
- $(meson_feature bluetooth bluez5-backend-hsphfpd)
- $(meson_feature aac bluez5-codec-aac)
- $(meson_feature aptx bluez5-codec-aptx)
- $(meson_feature ldac bluez5-codec-ldac)
- -Dcontrol=enabled # Matches upstream
- -Daudiotestsrc=enabled # Matches upstream
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
- $(meson_feature jack-client jack) # Allows PW to act as a JACK client
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
- -Devl=disabled # Matches upstream
- -Dtest=disabled # fakesink and fakesource plugins
- $(meson_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- -Dvideoconvert=enabled # Matches upstream
- -Dvideotestsrc=enabled # Matches upstream
- -Dvolume=enabled # Matches upstream
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
- $(meson_feature extra pw-cat)
- -Dudev=enabled
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- $(meson_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- )
- meson_src_configure
-}
-
-src_compile() {
- meson_src_compile
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- 1000:60000 - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-src_install() {
- meson_src_install
-
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
- if use pipewire-alsa; then
- dodir /etc/alsa/conf.d
- # These will break if someone has /etc that is a symbol link to a subfolder! See #724222
- # And the current dosym8 -r implementation is likely affected by the same issue, too.
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
- fi
-}
-
-pkg_postinst() {
- if ! use pipewire-alsa; then
- elog "Contrary to what some online resources may suggest, avoid setting"
- elog "PULSE_LATENCY_MSEC environment variable since it may break ALSA clients."
- elog
- fi
-
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
-
- if use systemd; then
- elog "Per Gentoo policy installed systemd units must be manually enabled:"
- elog "systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog "systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog "Rebooting is strongly recommended to avoid surprises from"
- elog "remnant PulseAudio daemon auto-spawning and surviving logouts."
- elog
- ewarn "Both new users and those upgrading need to enable pipewire-media-session:"
- ewarn "systemctl --user enable pipewire-media-session.service"
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
- elog "autospawn'ing of the original daemon by setting:"
- elog "autospawn = no"
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
- elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/etc/pipewire/pipewire.conf"
- elog "by commenting out the relevant command near the end of the file:"
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- elog "It is still necessary to manually enable PipeWire startup. Setup specific"
- elog "instructions can be found at: https://wiki.gentoo.org/wiki/PipeWire"
- fi
-
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
- # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
- if use bluetooth; then
- optfeature "better BT headset support (daemon startup required)" net-misc/ofono
- #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
- fi
-}
diff --git a/media-video/pipewire/pipewire-0.3.26-r1.ebuild b/media-video/pipewire/pipewire-0.3.26-r1.ebuild
deleted file mode 100644
index 56accd5f5077..000000000000
--- a/media-video/pipewire/pipewire-0.3.26-r1.ebuild
+++ /dev/null
@@ -1,243 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson optfeature udev
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
-# EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0.3"
-IUSE="aac aptx bluetooth doc extra gstreamer jack-client ldac pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
- aac? ( bluetooth )
- aptx? ( bluetooth )
- ldac? ( bluetooth )
-"
-
-BDEPEND="
- app-doc/xmltoman
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-RDEPEND="
- media-libs/alsa-lib
- sys-apps/dbus
- sys-libs/ncurses:=[unicode(+)]
- virtual/libudev
- bluetooth? (
- aac? ( media-libs/fdk-aac )
- aptx? ( media-libs/libopenaptx )
- ldac? ( media-libs/libldac )
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7
- || (
- media-plugins/alsa-plugins[-pulseaudio]
- !media-plugins/alsa-plugins
- )
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[pulseaudio] )
- systemd? ( sys-apps/systemd )
- v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-# media-video/ffmpeg:=
-# media-libs/libsdl2
-# >=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-# >=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
- default
-
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
- fi
-}
-
-src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
- $(meson_feature doc docs)
- -Dexamples=enabled # Disabling this implicitly disables -Dmedia-session (not good)
- -Dmedia-session=enabled
- -Dman=enabled
- $(meson_feature test tests)
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
- $(meson_feature gstreamer)
- $(meson_feature gstreamer gstreamer-device-provider)
- $(meson_feature systemd) # Also covers logind integration
- -Dsystemd-system-service=disabled # Matches upstream
- $(meson_feature systemd systemd-user-service)
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
- #-Dlibjack-path="" # Where to install libjack.so et al (if an absolute path is used, remember to prefix it with ${EROOT} or similar!); setting this will also break pw-jack's multilib support (but presumably that's okay as the intended use would be to replace system's libraries making the loader irrelevant)
- -Dspa-plugins=enabled
- -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
- -Daudiomixer=enabled # Matches upstream
- -Daudioconvert=enabled # Matches upstream
- $(meson_feature bluetooth bluez5)
- $(meson_feature bluetooth bluez5-backend-hsp-native)
- $(meson_feature bluetooth bluez5-backend-hfp-native)
- $(meson_feature bluetooth bluez5-backend-ofono)
- $(meson_feature bluetooth bluez5-backend-hsphfpd)
- $(meson_feature aac bluez5-codec-aac)
- $(meson_feature aptx bluez5-codec-aptx)
- $(meson_feature ldac bluez5-codec-ldac)
- -Dcontrol=enabled # Matches upstream
- -Daudiotestsrc=enabled # Matches upstream
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
- $(meson_feature jack-client jack) # Allows PW to act as a JACK client
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
- -Devl=disabled # Matches upstream
- -Dtest=disabled # fakesink and fakesource plugins
- $(meson_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- -Dvideoconvert=enabled # Matches upstream
- -Dvideotestsrc=enabled # Matches upstream
- -Dvolume=enabled # Matches upstream
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
- $(meson_feature extra pw-cat)
- -Dudev=enabled
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- $(meson_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- )
- meson_src_configure
-}
-
-src_compile() {
- meson_src_compile
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- 1000:60000 - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-src_install() {
- meson_src_install
-
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
- if use pipewire-alsa; then
- dodir /etc/alsa/conf.d
- # These will break if someone has /etc that is a symbol link to a subfolder! See #724222
- # And the current dosym8 -r implementation is likely affected by the same issue, too.
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
- exeinto /usr/libexec
- newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
- fi
-}
-
-pkg_postinst() {
- if ! use pipewire-alsa; then
- elog "Contrary to what some online resources may suggest, avoid setting"
- elog "PULSE_LATENCY_MSEC environment variable since it may break ALSA clients."
- elog
- fi
-
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
-
- if use systemd; then
- elog "Per Gentoo policy installed systemd units must be manually enabled:"
- elog "systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog "systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog "Rebooting is strongly recommended to avoid surprises from"
- elog "remnant PulseAudio daemon auto-spawning and surviving logouts."
- elog
- ewarn "Both new users and those upgrading need to enable pipewire-media-session:"
- ewarn "systemctl --user enable pipewire-media-session.service"
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
- elog "autospawn'ing of the original daemon by setting:"
- elog "autospawn = no"
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
- elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/etc/pipewire/pipewire.conf"
- elog "by commenting out the relevant command near the end of the file:"
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- elog "It is still necessary to manually enable PipeWire startup. Setup specific"
- elog "instructions can be found at: https://wiki.gentoo.org/wiki/PipeWire"
- fi
-
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
- # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
- if use bluetooth; then
- optfeature "better BT headset support (daemon startup required)" net-misc/ofono
- #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
- fi
-}
diff --git a/media-video/pipewire/pipewire-0.3.27-r2.ebuild b/media-video/pipewire/pipewire-0.3.27-r2.ebuild
deleted file mode 100644
index 990c290d7d21..000000000000
--- a/media-video/pipewire/pipewire-0.3.27-r2.ebuild
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit meson-multilib optfeature udev
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0.3"
-IUSE="aac aptx bluetooth doc extra gstreamer jack-client jack-sdk ldac pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
- aac? ( bluetooth )
- aptx? ( bluetooth )
- jack-sdk? ( !jack-client )
- ldac? ( bluetooth )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- app-doc/xmltoman
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-RDEPEND="
- acct-group/audio
- media-libs/alsa-lib
- sys-apps/dbus[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- virtual/libudev[${MULTILIB_USEDEP}]
- bluetooth? (
- aac? ( media-libs/fdk-aac )
- aptx? ( media-libs/libopenaptx )
- ldac? ( media-libs/libldac )
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- || (
- media-plugins/alsa-plugins[-pulseaudio]
- !media-plugins/alsa-plugins
- )
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
- systemd? ( sys-apps/systemd )
- v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-# media-video/ffmpeg:=
-# media-libs/libsdl2
-# >=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-# >=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
- default
-
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
- fi
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
- $(meson_native_use_feature doc docs)
- $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
- $(meson_native_enabled media-session)
- $(meson_native_enabled man)
- $(meson_feature test tests)
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
- $(meson_native_use_feature gstreamer)
- $(meson_native_use_feature gstreamer gstreamer-device-provider)
- $(meson_native_use_feature systemd)
- -Dsystemd-system-service=disabled # Matches upstream
- $(meson_native_use_feature systemd systemd-user-service)
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
- -Dspa-plugins=enabled
- -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
- -Daudiomixer=enabled # Matches upstream
- -Daudioconvert=enabled # Matches upstream
- $(meson_native_use_feature bluetooth bluez5)
- $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
- $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
- $(meson_native_use_feature bluetooth bluez5-backend-ofono)
- $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
- $(meson_native_use_feature aac bluez5-codec-aac)
- $(meson_native_use_feature aptx bluez5-codec-aptx)
- $(meson_native_use_feature ldac bluez5-codec-ldac)
- -Dcontrol=enabled # Matches upstream
- -Daudiotestsrc=enabled # Matches upstream
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
- $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
- $(meson_feature jack-sdk jack-devel)
- $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
- -Devl=disabled # Matches upstream
- -Dtest=disabled # fakesink and fakesource plugins
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- -Dvideoconvert=enabled # Matches upstream
- -Dvideotestsrc=enabled # Matches upstream
- -Dvolume=enabled # Matches upstream
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
- $(meson_native_use_feature extra pw-cat)
- -Dudev=enabled
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- )
-
- meson_src_configure
-}
-
-multilib_src_install() {
- # Our customs DOCS do not exist in multilib source directory
- DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
- if use pipewire-alsa; then
- dodir /etc/alsa/conf.d
- # These will break if someone has /etc that is a symbol link to a subfolder! See #724222
- # And the current dosym8 -r implementation is likely affected by the same issue, too.
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
- exeinto /usr/libexec
- newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
- fi
-}
-
-pkg_postinst() {
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
-
- if ! use jack-sdk; then
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd; then
- elog "To use PipeWire for audio, the user units must be manually enabled:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both, new users and those upgrading, need to enable pipewire-media-session:"
- elog
- elog " systemctl --user enable pipewire-media-session.service"
- elog
- elog "NOTE: This is not required when using PipeWire only for screencasting."
- elog
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
- elog "autospawn'ing of the original daemon by setting:"
- elog
- elog " autospawn = no"
- elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
- elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
- elog "command near the end of the file:"
- elog
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- fi
-
- elog "For latest tips and tricks, troubleshooting information and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
-
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
- # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
- if use bluetooth; then
- optfeature "better BT headset support (daemon startup required)" net-misc/ofono
- #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
- fi
-}
diff --git a/media-video/pipewire/pipewire-0.3.28-r1.ebuild b/media-video/pipewire/pipewire-0.3.28-r1.ebuild
deleted file mode 100644
index e45f023b6a0e..000000000000
--- a/media-video/pipewire/pipewire-0.3.28-r1.ebuild
+++ /dev/null
@@ -1,270 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit meson-multilib optfeature udev
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="aac aptx bluetooth doc extra gstreamer jack-client jack-sdk ldac pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
- aac? ( bluetooth )
- aptx? ( bluetooth )
- jack-sdk? ( !jack-client )
- ldac? ( bluetooth )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- app-doc/xmltoman
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-RDEPEND="
- acct-group/audio
- media-libs/alsa-lib
- sys-apps/dbus[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- virtual/libudev[${MULTILIB_USEDEP}]
- bluetooth? (
- aac? ( media-libs/fdk-aac )
- aptx? ( media-libs/libopenaptx )
- ldac? ( media-libs/libldac )
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- || (
- media-plugins/alsa-plugins[-pulseaudio]
- !media-plugins/alsa-plugins
- )
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
- systemd? ( sys-apps/systemd )
- v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-# media-video/ffmpeg:=
-# media-libs/libsdl2
-# >=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-# >=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
- "${FILESDIR}"/${PN}-0.3.28-revert-openaptx-restriction.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
- default
-
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
- fi
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
- $(meson_native_use_feature doc docs)
- $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
- $(meson_native_enabled media-session)
- $(meson_native_enabled man)
- $(meson_feature test tests)
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
- $(meson_native_use_feature gstreamer)
- $(meson_native_use_feature gstreamer gstreamer-device-provider)
- $(meson_native_use_feature systemd)
- -Dsystemd-system-service=disabled # Matches upstream
- $(meson_native_use_feature systemd systemd-user-service)
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
- -Dspa-plugins=enabled
- -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
- -Daudiomixer=enabled # Matches upstream
- -Daudioconvert=enabled # Matches upstream
- $(meson_native_use_feature bluetooth bluez5)
- $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
- $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
- $(meson_native_use_feature bluetooth bluez5-backend-ofono)
- $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
- $(meson_native_use_feature aac bluez5-codec-aac)
- $(meson_native_use_feature aptx bluez5-codec-aptx)
- $(meson_native_use_feature ldac bluez5-codec-ldac)
- -Dcontrol=enabled # Matches upstream
- -Daudiotestsrc=enabled # Matches upstream
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
- $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
- $(meson_feature jack-sdk jack-devel)
- $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
- -Devl=disabled # Matches upstream
- -Dtest=disabled # fakesink and fakesource plugins
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- -Dvideoconvert=enabled # Matches upstream
- -Dvideotestsrc=enabled # Matches upstream
- -Dvolume=enabled # Matches upstream
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
- $(meson_native_use_feature extra pw-cat)
- -Dudev=enabled
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- )
-
- meson_src_configure
-}
-
-multilib_src_install() {
- # Our customs DOCS do not exist in multilib source directory
- DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
- if use pipewire-alsa; then
- dodir /etc/alsa/conf.d
- # These will break if someone has /etc that is a symbol link to a subfolder! See #724222
- # And the current dosym8 -r implementation is likely affected by the same issue, too.
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
- exeinto /usr/libexec
- newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
- fi
-}
-
-pkg_postinst() {
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
-
- if ! use jack-sdk; then
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd; then
- elog "To use PipeWire for audio, the user units must be manually enabled:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both, new users and those upgrading, need to enable pipewire-media-session:"
- elog
- elog " systemctl --user enable pipewire-media-session.service"
- elog
- elog "NOTE: This is not required when using PipeWire only for screencasting."
- elog
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
- elog "autospawn'ing of the original daemon by setting:"
- elog
- elog " autospawn = no"
- elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
- elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
- elog "command near the end of the file:"
- elog
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- fi
-
- elog "For latest tips and tricks, troubleshooting information and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
-
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
- # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
- if use bluetooth; then
- optfeature "better BT headset support (daemon startup required)" net-misc/ofono
- #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
- fi
-}
diff --git a/media-video/pipewire/pipewire-0.3.29-r1.ebuild b/media-video/pipewire/pipewire-0.3.29-r1.ebuild
deleted file mode 100644
index 94c7194ef130..000000000000
--- a/media-video/pipewire/pipewire-0.3.29-r1.ebuild
+++ /dev/null
@@ -1,271 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit meson-multilib optfeature udev
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="aac aptx bluetooth doc extra gstreamer jack-client jack-sdk ldac pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="
- aac? ( bluetooth )
- aptx? ( bluetooth )
- jack-sdk? ( !jack-client )
- ldac? ( bluetooth )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- app-doc/xmltoman
- virtual/pkgconfig
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-RDEPEND="
- acct-group/audio
- media-libs/alsa-lib
- sys-apps/dbus[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- virtual/libudev[${MULTILIB_USEDEP}]
- bluetooth? (
- aac? ( media-libs/fdk-aac )
- aptx? ( media-libs/libopenaptx )
- ldac? ( media-libs/libldac )
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- || (
- media-plugins/alsa-plugins[-pulseaudio]
- !media-plugins/alsa-plugins
- )
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
- systemd? ( sys-apps/systemd )
- v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-# media-video/ffmpeg:=
-# media-libs/libsdl2
-# >=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-# >=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
- "${FILESDIR}"/${PN}-0.3.29-revert-openaptx-restriction.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
- default
-
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
- fi
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
- $(meson_native_use_feature doc docs)
- $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
- $(meson_native_enabled media-session)
- $(meson_native_enabled man)
- $(meson_feature test tests)
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
- $(meson_native_use_feature gstreamer)
- $(meson_native_use_feature gstreamer gstreamer-device-provider)
- $(meson_native_use_feature systemd)
- -Dsystemd-system-service=disabled # Matches upstream
- $(meson_native_use_feature systemd systemd-user-service)
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
- -Dspa-plugins=enabled
- -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
- -Daudiomixer=enabled # Matches upstream
- -Daudioconvert=enabled # Matches upstream
- $(meson_native_use_feature bluetooth bluez5)
- $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
- $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
- $(meson_native_use_feature bluetooth bluez5-backend-ofono)
- $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
- $(meson_native_use_feature aac bluez5-codec-aac)
- $(meson_native_use_feature aptx bluez5-codec-aptx)
- $(meson_native_use_feature ldac bluez5-codec-ldac)
- -Dcontrol=enabled # Matches upstream
- -Daudiotestsrc=enabled # Matches upstream
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
- $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
- $(meson_feature jack-sdk jack-devel)
- $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
- -Devl=disabled # Matches upstream
- -Dtest=disabled # fakesink and fakesource plugins
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- -Dvideoconvert=enabled # Matches upstream
- -Dvideotestsrc=enabled # Matches upstream
- -Dvolume=enabled # Matches upstream
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
- $(meson_native_use_feature extra pw-cat)
- -Dudev=enabled
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- )
-
- meson_src_configure
-}
-
-multilib_src_install() {
- # Our customs DOCS do not exist in multilib source directory
- DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
- if use pipewire-alsa; then
- dodir /etc/alsa/conf.d
- # These will break if someone has /etc that is a symbol link to a subfolder! See #724222
- # And the current dosym8 -r implementation is likely affected by the same issue, too.
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
- exeinto /usr/libexec
- newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
- fi
-}
-
-pkg_postinst() {
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
-
- if ! use jack-sdk; then
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd; then
- elog "To use PipeWire for audio, the user units must be manually enabled:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both, new users and those upgrading, need to enable pipewire-media-session:"
- elog
- elog " systemctl --user enable pipewire-media-session.service"
- elog
- elog "NOTE: This is not required when using PipeWire only for screencasting."
- elog
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
- elog "autospawn'ing of the original daemon by setting:"
- elog
- elog " autospawn = no"
- elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
- elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
- elog "command near the end of the file:"
- elog
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- fi
-
- elog "For latest tips and tricks, troubleshooting information and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
-
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
- # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
- if use bluetooth; then
- optfeature "better BT headset support (daemon startup required)" net-misc/ofono
- #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
- fi
-}
diff --git a/media-video/pipewire/pipewire-0.3.31-r1.ebuild b/media-video/pipewire/pipewire-0.3.31-r1.ebuild
deleted file mode 100644
index a4448bb20cdc..000000000000
--- a/media-video/pipewire/pipewire-0.3.31-r1.ebuild
+++ /dev/null
@@ -1,274 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit meson-multilib optfeature python-any-r1 udev
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="bluetooth doc extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- app-doc/xmltoman
- virtual/pkgconfig
- ${PYTHON_DEPS}
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-RDEPEND="
- acct-group/audio
- media-libs/alsa-lib
- sys-apps/dbus[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- virtual/libudev[${MULTILIB_USEDEP}]
- bluetooth? (
- media-libs/fdk-aac
- media-libs/libldac
- media-libs/libopenaptx
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- || (
- media-plugins/alsa-plugins[-pulseaudio]
- !media-plugins/alsa-plugins
- )
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
- systemd? ( sys-apps/systemd )
- v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-# media-video/ffmpeg:=
-# media-libs/libsdl2
-# >=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-# >=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
- "${FILESDIR}"/${PN}-0.3.31-revert-openaptx-restriction.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
- default
-
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.31-non-systemd-integration.patch
- fi
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
- $(meson_native_use_feature doc docs)
- $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
- $(meson_native_enabled media-session)
- $(meson_native_enabled man)
- $(meson_feature test tests)
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
- $(meson_native_use_feature gstreamer)
- $(meson_native_use_feature gstreamer gstreamer-device-provider)
- $(meson_native_use_feature systemd)
- -Dsystemd-system-service=disabled # Matches upstream
- $(meson_native_use_feature systemd systemd-user-service)
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
- -Dspa-plugins=enabled
- -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
- -Daudiomixer=enabled # Matches upstream
- -Daudioconvert=enabled # Matches upstream
- $(meson_native_use_feature bluetooth bluez5)
- $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
- $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
- $(meson_native_use_feature bluetooth bluez5-backend-ofono)
- $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
- $(meson_native_use_feature bluetooth bluez5-codec-aac)
- $(meson_native_use_feature bluetooth bluez5-codec-aptx)
- $(meson_native_use_feature bluetooth bluez5-codec-ldac)
- -Dcontrol=enabled # Matches upstream
- -Daudiotestsrc=enabled # Matches upstream
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
- $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
- $(meson_feature jack-sdk jack-devel)
- $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
- -Devl=disabled # Matches upstream
- -Dtest=disabled # fakesink and fakesource plugins
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- -Dvideoconvert=enabled # Matches upstream
- -Dvideotestsrc=enabled # Matches upstream
- -Dvolume=enabled # Matches upstream
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
- $(meson_native_use_feature extra pw-cat)
- -Dudev=enabled
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- )
-
- meson_src_configure
-}
-
-multilib_src_install() {
- # Our customs DOCS do not exist in multilib source directory
- DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
- if use pipewire-alsa; then
- dodir /etc/alsa/conf.d
- # These will break if someone has /etc that is a symbol link to a subfolder! See #724222
- # And the current dosym8 -r implementation is likely affected by the same issue, too.
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
- exeinto /usr/libexec
- newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
- fi
-}
-
-pkg_postinst() {
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
-
- if ! use jack-sdk; then
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd; then
- elog "To use PipeWire for audio, the user units must be manually enabled:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both, new users and those upgrading, need to enable pipewire-media-session:"
- elog
- elog " systemctl --user enable pipewire-media-session.service"
- elog
- elog "NOTE: This is not required when using PipeWire only for screencasting."
- elog
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
- elog "autospawn'ing of the original daemon by setting:"
- elog
- elog " autospawn = no"
- elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
- elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
- elog "command near the end of the file:"
- elog
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, package is no longer installing config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override sections you want to change."
- fi
-
- elog "For latest tips and tricks, troubleshooting information and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
-
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
- # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
- if use bluetooth; then
- optfeature "better BT headset support (daemon startup required)" net-misc/ofono
- #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
- fi
-}