From 192d24138357bc6f3f20d465c79bd59b1cdec795 Mon Sep 17 00:00:00 2001 From: Gerben Jan Dijkman Date: Mon, 5 May 2025 19:15:58 +0200 Subject: [PATCH] Removed --- media-video/pipewire/Manifest | 2 - ...-default-if-it-s-found-and-supported.patch | 33 -- .../files/99-pipewire-default-hook.conf | 17 - .../pipewire/files/gentoo-pipewire-launcher.1 | 52 -- .../files/gentoo-pipewire-launcher.in-r3 | 84 --- ...o-sound-server-enable-audio-bluetooth.conf | 6 - ...e-0.3.25-enable-failed-mlock-warning.patch | 12 - .../pipewire-1.0.7-automagic-gsettings.patch | 80 --- ....7-automagic-webrtc-audio-processing.patch | 95 ---- .../pipewire-1.2.0-automagic-gsettings.patch | 79 --- .../pipewire/files/pipewire.desktop-r2 | 12 - media-video/pipewire/pipewire-1.4.2.ebuild | 535 ------------------ 12 files changed, 1007 deletions(-) delete mode 100644 media-video/pipewire/Manifest delete mode 100644 media-video/pipewire/files/0001-Use-libcamera-by-default-if-it-s-found-and-supported.patch delete mode 100644 media-video/pipewire/files/99-pipewire-default-hook.conf delete mode 100644 media-video/pipewire/files/gentoo-pipewire-launcher.1 delete mode 100644 media-video/pipewire/files/gentoo-pipewire-launcher.in-r3 delete mode 100644 media-video/pipewire/files/gentoo-sound-server-enable-audio-bluetooth.conf delete mode 100644 media-video/pipewire/files/pipewire-0.3.25-enable-failed-mlock-warning.patch delete mode 100644 media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch delete mode 100644 media-video/pipewire/files/pipewire-1.0.7-automagic-webrtc-audio-processing.patch delete mode 100644 media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch delete mode 100644 media-video/pipewire/files/pipewire.desktop-r2 delete mode 100644 media-video/pipewire/pipewire-1.4.2.ebuild diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest deleted file mode 100644 index 45b0cb5..0000000 --- a/media-video/pipewire/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST pipewire-1.4.0-docs.tar.xz 67012 BLAKE2B 5d9f7432e33c86a5172ea310742a8e50312870eabab7f4357a1234580b8258c9bb83daa73fdcc1228c61629eb8555c00b961704671e55c6ed030f6c95b043397 SHA512 33791b64a577ead6975e0a615b1e4382ecafcc6f3dd6409ebd360c533312cab5f55f92a394bc42629ec4f53f17790ddedfb26a2b35cb4aa06ea07fd30bfce3d6 -DIST pipewire-1.4.2.tar.bz2 1917345 BLAKE2B b88e34fe29268f72602410f0fd62f3c3decd2ccf363f7e4a0eac2e6770486775c6fc8317cda9a59f729023c25118e052bb8bab00457fa828ca7f4ceb02959ecd SHA512 3c4341560240fd4be957c5ad6ef87d46ffe74846ea1a9c75db4470dfc62a02ce8db26d71c63117e4b33ac074ea5165b3bdf29fc31028aee2317ef09b2eca4acc diff --git a/media-video/pipewire/files/0001-Use-libcamera-by-default-if-it-s-found-and-supported.patch b/media-video/pipewire/files/0001-Use-libcamera-by-default-if-it-s-found-and-supported.patch deleted file mode 100644 index 9ba1d6c..0000000 --- a/media-video/pipewire/files/0001-Use-libcamera-by-default-if-it-s-found-and-supported.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 04a2685a1d9aed399108b2dfdd20631bb6f3eb65 Mon Sep 17 00:00:00 2001 -From: Dan Johansen -Date: Wed, 16 Nov 2022 13:29:43 +0100 -Subject: [PATCH] Use libcamera by default if it's found and supported - -libcamera support was recently added, so this makes applications able to -use that support. This is for testing before the patch can be handed -over to upstream. - -Signed-off-by: Dan Johansen ---- - .../main.lua.d/60-libcamera-nodes-by-default.lua | 10 ++++++++++ - 1 file changed, 10 insertions(+) - create mode 100644 src/config/main.lua.d/60-libcamera-nodes-by-default.lua - -diff --git a/src/config/main.lua.d/60-libcamera-nodes-by-default.lua b/src/config/main.lua.d/60-libcamera-nodes-by-default.lua -new file mode 100644 -index 0000000..3d91be7 ---- /dev/null -+++ b/src/config/main.lua.d/60-libcamera-nodes-by-default.lua -@@ -0,0 +1,10 @@ -+ table.insert(libcamera_monitor.rules, { -+ matches = { -+ { -+ { "node.name", "matches", "libcamera_input.*" }, -+ }, -+ }, -+ apply_properties = { -+ ["priority.session"] = 1000, -+ }, -+}) --- -2.38.1 diff --git a/media-video/pipewire/files/99-pipewire-default-hook.conf b/media-video/pipewire/files/99-pipewire-default-hook.conf deleted file mode 100644 index 7145acc..0000000 --- a/media-video/pipewire/files/99-pipewire-default-hook.conf +++ /dev/null @@ -1,17 +0,0 @@ -# Load pipewire configuration at conf hook processing time. This allows to -# override pulseaudio defaults configuration which is also applied via hook. -# -# Note since hooks are run after @GENTOO_PORTAGE_EPREFIX@/etc/asound.conf and ~/.asoundrc are applied, -# we load these again here make sure that user configuration takes precedence. - -@hooks [ - { - func load - files [ - "@GENTOO_PORTAGE_EPREFIX@/usr/share/alsa/alsa.conf.d/99-pipewire-default.conf" - "@GENTOO_PORTAGE_EPREFIX@/etc/asound.conf" - "~/.asoundrc" - ] - errors false - } -] diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.1 b/media-video/pipewire/files/gentoo-pipewire-launcher.1 deleted file mode 100644 index 36e697c..0000000 --- a/media-video/pipewire/files/gentoo-pipewire-launcher.1 +++ /dev/null @@ -1,52 +0,0 @@ -.TH "gentoo-pipewire-launcher" "1" "2023-06-15" -.SH "NAME" -gentoo\-pipewire\-launcher \- start instances of PipeWire, PipeWire-Pulse and WirePlumber -.SH "SYNOPSIS" -.BR gentoo\-pipewire\-launcher -[restart] -.SH "DESCRIPTION" -\fIgentoo\-pipewire\-launcher\fR starts instances of PipeWire and -WirePlumber. -Two instances of PipeWire are started: one as the core sound-server, and -one for PulseAudio emulation (cf.\& -.BR pipewire-pulse (1)\fR). -.PP -It must be run in an environment with an active D-Bus session bus, -i.e. one in which the -.B DBUS_SESSION_BUS_ADDRESS -environment variable is set appropriately. -.PP -\fIgentoo\-pipewire\-launcher\fR -tries to avoid restarting, in order to avoid audio dropouts. -However, a restart can be forced by calling -\fIgentoo\-pipewire\-launcher\fR -with an argument of \(oqrestart\(cq. -.PP -.B ${XDG_CONFIG_HOME}/gentoo\-pipewire\-launcher.conf -(or, if -.B ${XDG_CONFIG_HOME} -is not set, -.BR ${HOME}/.config/gentoo\-pipewire\-launcher.conf ) -can be used to specify absolute paths of files to which log output -should be sent, by specifying values for one or more of the -.B GENTOO_PIPEWIRE_LOG\fR, -.B GENTOO_PIPEWIRE_PULSE_LOG\fR, -and -.B GENTOO_WIREPLUMBER_LOG -variables, one per line. -.SH "REPORTING BUGS" -Please report bugs via https://bugs.gentoo.org/ -.SH "FILES" -.TP -.B ${XDG_CONFIG_HOME}/gentoo\-pipewire\-launcher.conf -configures locations of files for log output. -.TP -.B ${HOME}/.config/gentoo\-pipewire\-launcher.conf -configures locations of files for log output if -.B ${XDG_CONFIG_HOME} -is not set. -.SH "SEE ALSO" -.BR pipewire (1), -.BR pipewire-pulse (1), -.BR wireplumber (1), -.BR pipewire.conf (5) diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.in-r3 b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r3 deleted file mode 100644 index abe9174..0000000 --- a/media-video/pipewire/files/gentoo-pipewire-launcher.in-r3 +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh - -# PipeWire launcher script for XDG compliant desktops on OpenRC. -# -# systemd users are very _STRONGLY_ advised to use the much -# more reliable and predictable user units instead. - -# WARNING: This script assumes being run inside XDG compliant session, -# which means D-Bus session instance is expected to be correctly set up -# prior to this script starting. If that is not true, things may break! - -DATE_FORMAT='+%Y-%m-%dT%H:%M:%S%Z' - -CONF="${XDG_CONFIG_HOME:-${HOME}/.config}/gentoo-pipewire-launcher.conf" -if [ -f "${CONF}" ] -then - . "${CONF}" -else - GENTOO_PIPEWIRE_LOG='/dev/null' - GENTOO_PIPEWIRE_PULSE_LOG='/dev/null' - GENTOO_WIREPLUMBER_LOG='/dev/null' -fi -for L in \ - "${GENTOO_PIPEWIRE_LOG}" \ - "${GENTOO_PIPEWIRE_PULSE_LOG}" \ - "${GENTOO_WIREPLUMBER_LOG}" -do - if [ ! -e "${L}" ] - then - touch "${L}" - fi -done - -restart () { - echo "Terminating PipeWire processes ..." - pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1 - - # pidwait was renamed to pwait w/ procps-4 (bug #914030) - if command -v pidwait > /dev/null ; then - pidwait -u "${USER}" -x pipewire\|wireplumber - elif command -v pwait > /dev/null ; then - pwait -u "${USER}" -x pipewire\|wireplumber - fi - - echo "PipeWire terminated." -} - -if [ "${#}" -gt 0 ] -then - if [ "${1}" = 'restart' ] - then - restart - else - echo "Unrecognised argument." >&2 - echo "Usage: gentoo-pipewire-launcher [restart]" >&2 - exit 1 - fi -fi - -if pgrep -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1 -then - echo "PipeWire already running, exiting." >&2 - echo "(Use 'gentoo-pipewire-launcher restart' to restart PipeWire and WirePlumber.)" >&2 - exit 1 -fi - -# The core daemon which by itself does probably nothing. -echo "[$(@GENTOO_PORTAGE_EPREFIX@/bin/date ${DATE_FORMAT})] Starting PipeWire." 1>>"${GENTOO_PIPEWIRE_LOG}" -@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire 1>>"${GENTOO_PIPEWIRE_LOG}" 2>&1 & - -# The so called pipewire-pulse daemon used for PulseAudio compatibility. -# Commenting this out will stop the PA proxying daemon from starting, -# however ALSA (with pipewire-alsa), JACK (with jack-sdk) and PW API using -# clients will still have access to audio and may end up clashing with -# non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon). -echo "[$(@GENTOO_PORTAGE_EPREFIX@/bin/date ${DATE_FORMAT})] Starting PipeWire-Pulse." 1>>"${GENTOO_PIPEWIRE_PULSE_LOG}" -@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire -c pipewire-pulse.conf 1>>"${GENTOO_PIPEWIRE_PULSE_LOG}" 2>&1 & - -# Hack for bug #822498 -sleep 1 - -# Finally a session manager is required for PipeWire to do anything. -echo "[$(@GENTOO_PORTAGE_EPREFIX@/bin/date ${DATE_FORMAT})] Starting WirePlumber." 1>>"${GENTOO_WIREPLUMBER_LOG}" -exec @GENTOO_PORTAGE_EPREFIX@/usr/bin/wireplumber 1>>"${GENTOO_WIREPLUMBER_LOG}" 2>&1 diff --git a/media-video/pipewire/files/gentoo-sound-server-enable-audio-bluetooth.conf b/media-video/pipewire/files/gentoo-sound-server-enable-audio-bluetooth.conf deleted file mode 100644 index c5b4f80..0000000 --- a/media-video/pipewire/files/gentoo-sound-server-enable-audio-bluetooth.conf +++ /dev/null @@ -1,6 +0,0 @@ -wireplumber.profiles = { - main = { - hardware.audio = required - hardware.bluetooth = required - } -} diff --git a/media-video/pipewire/files/pipewire-0.3.25-enable-failed-mlock-warning.patch b/media-video/pipewire/files/pipewire-0.3.25-enable-failed-mlock-warning.patch deleted file mode 100644 index bdb43fe..0000000 --- a/media-video/pipewire/files/pipewire-0.3.25-enable-failed-mlock-warning.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in ---- a/src/daemon/pipewire.conf.in -+++ b/src/daemon/pipewire.conf.in -@@ -6,7 +6,7 @@ context.properties = { - #support.dbus = true - #link.max-buffers = 64 - link.max-buffers = 16 # version < 3 clients can't handle more -- #mem.warn-mlock = false -+ mem.warn-mlock = true # Gentoo should have good RLIMITs now - #mem.allow-mlock = true - #mem.mlock-all = false - #clock.power-of-two-quantum = true diff --git a/media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch b/media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch deleted file mode 100644 index bde229b..0000000 --- a/media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch +++ /dev/null @@ -1,80 +0,0 @@ -From acc75b21f653873ec1da68bfa08f2945a8dd09d2 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Sun, 30 Jun 2024 13:44:06 -0400 -Subject: [PATCH] meson: fix conflicting use of feature-based dependency - lookups - -When spa-plugins is enabled, the gio-2.0 global dependency is -overwritten. - -When bluez support is enabled, OR when gsettings is enabled, the gio-2.0 -dependency is then detected as found. This means that -pipewire-module-protocol-pulse can end up enabling gsettings support -even if it has been forcibly turned off. - -Rename the meson variables to ensure they are looked up separately. - -(cherry picked from commit b5f031bc15524bbfde577290ad9bbadeab77ae8b) -Signed-off-by: Eli Schwartz ---- - meson.build | 4 ++-- - spa/meson.build | 6 +++--- - src/modules/meson.build | 4 ++-- - 3 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/meson.build b/meson.build -index 0ea256e9b..3353a2aec 100644 ---- a/meson.build -+++ b/meson.build -@@ -343,8 +343,8 @@ summary({'GLib-2.0 (Flatpak support)': glib2_dep.found()}, bool_yn: true, sectio - flatpak_support = glib2_dep.found() - cdata.set('HAVE_GLIB2', flatpak_support) - --gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings')) --summary({'GIO (GSettings)': gio_dep.found()}, bool_yn: true, section: 'Misc dependencies') -+gsettings_gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings')) -+summary({'GIO (GSettings)': gsettings_gio_dep.found()}, bool_yn: true, section: 'Misc dependencies') - - gst_option = get_option('gstreamer') - gst_deps_def = { -diff --git a/spa/meson.build b/spa/meson.build -index db0a84425..e37744b08 100644 ---- a/spa/meson.build -+++ b/spa/meson.build -@@ -43,12 +43,12 @@ if get_option('spa-plugins').allowed() - summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend') - - bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5')) -- gio_dep = dependency('gio-2.0', required : get_option('bluez5')) -- gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5')) -+ bluez_gio_dep = dependency('gio-2.0', required : get_option('bluez5')) -+ bluez_gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5')) - bluez_glib2_dep = dependency('glib-2.0', required : get_option('bluez5')) - sbc_dep = dependency('sbc', required: get_option('bluez5')) - summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs') -- bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, gio_dep, gio_unix_dep ] -+ bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, bluez_gio_dep, bluez_gio_unix_dep ] - bluez_deps_found = get_option('bluez5').allowed() - foreach dep: bluez5_deps - if get_option('bluez5').enabled() and not dep.found() -diff --git a/src/modules/meson.build b/src/modules/meson.build -index 1b434b7f6..52660253e 100644 ---- a/src/modules/meson.build -+++ b/src/modules/meson.build -@@ -409,11 +409,11 @@ if avahi_dep.found() - cdata.set('HAVE_AVAHI', true) - endif - --if gio_dep.found() -+if gsettings_gio_dep.found() - pipewire_module_protocol_pulse_sources += [ - 'module-protocol-pulse/modules/module-gsettings.c', - ] -- pipewire_module_protocol_pulse_deps += gio_dep -+ pipewire_module_protocol_pulse_deps += gsettings_gio_dep - cdata.set('HAVE_GIO', true) - endif - --- -2.44.2 - diff --git a/media-video/pipewire/files/pipewire-1.0.7-automagic-webrtc-audio-processing.patch b/media-video/pipewire/files/pipewire-1.0.7-automagic-webrtc-audio-processing.patch deleted file mode 100644 index ac245dd..0000000 --- a/media-video/pipewire/files/pipewire-1.0.7-automagic-webrtc-audio-processing.patch +++ /dev/null @@ -1,95 +0,0 @@ -From acd5bf60b9d4a35d00c90bfdca7f89e4ff4a4ff7 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Thu, 30 May 2024 19:44:38 -0400 -Subject: [PATCH] meson: fix webrtc-audio-processing dependency ignoring - configure args - -Most dependencies use meson "feature" options for optional -functionality. This allows people to disable them, if they don't want -them, through the power of tristate decision-making. - -This particular dependency does something a bit more complicated than -can be described by simply passing feature options to the required -kwarg. It: - -- tries to look for two different names of the dependency -- selects different version ranges, depending on the dependency name -- has a hole in the middle of the versions - -Unfortunately, `required: false` for the first dependency isn't -equivalent to a tristate decision-making process. We have to manually -code the logic ourselves. - -The problem is that when we look up the first name, we cannot pass the -feature option in because if the option is force enabled, then the -dependency lookup fails and configuration never tries to find the older -version instead. - -But also, we can't just say it *isn't* required, because if the option -is force *disabled* but it is installed on the system, we still find it -and build against it. - -One solution would be using meson 0.60's support for multiple dependency -names: - -``` -dependency('webrtc-audio-processing-1', 'webrtc-audio-processing', - version : ['>= 0.2'], - required: get_option('echo-cancel-webrtc'), -) -``` - -Unfortunately, this too doesn't work since we could end up detecting 1.1 -(the hole in the middle) which is invalid. - -Instead, we do a bit of checking for tristate values before deciding to -invoke `dependency()`. This lets us guarantee that disabled dependencies -are well and truly disabled. - -Bug: https://bugs.gentoo.org/933218 -Fixes: #3678 ---- - meson.build | 25 +++++++++++++++---------- - 1 file changed, 15 insertions(+), 10 deletions(-) - -diff --git a/meson.build b/meson.build -index cda60112f..72d275086 100644 ---- a/meson.build -+++ b/meson.build -@@ -393,18 +393,23 @@ cdata.set('HAVE_GSTREAMER_DEVICE_PROVIDER', get_option('gstreamer-device-provide - summary({'gstreamer DMA_DRM support': gst_dma_drm_found}, bool_yn: true, section: 'Backend') - cdata.set('HAVE_GSTREAMER_DMA_DRM', gst_dma_drm_found) - --webrtc_dep = dependency('webrtc-audio-processing-1', -- version : ['>= 1.2' ], -- required : false) --cdata.set('HAVE_WEBRTC1', webrtc_dep.found()) --if webrtc_dep.found() -+if get_option('echo-cancel-webrtc').disabled() -+ webrtc_dep = dependency('', required: false) - summary({'WebRTC Echo Canceling >= 1.2': webrtc_dep.found()}, bool_yn: true, section: 'Misc dependencies') - else -- webrtc_dep = dependency('webrtc-audio-processing', -- version : ['>= 0.2', '< 1.0'], -- required : get_option('echo-cancel-webrtc')) -- cdata.set('HAVE_WEBRTC', webrtc_dep.found()) -- summary({'WebRTC Echo Canceling < 1.0': webrtc_dep.found()}, bool_yn: true, section: 'Misc dependencies') -+ webrtc_dep = dependency('webrtc-audio-processing-1', -+ version : ['>= 1.2' ], -+ required : false) -+ cdata.set('HAVE_WEBRTC1', webrtc_dep.found()) -+ if webrtc_dep.found() -+ summary({'WebRTC Echo Canceling >= 1.2': webrtc_dep.found()}, bool_yn: true, section: 'Misc dependencies') -+ else -+ webrtc_dep = dependency('webrtc-audio-processing', -+ version : ['>= 0.2', '< 1.0'], -+ required : get_option('echo-cancel-webrtc')) -+ cdata.set('HAVE_WEBRTC', webrtc_dep.found()) -+ summary({'WebRTC Echo Canceling < 1.0': webrtc_dep.found()}, bool_yn: true, section: 'Misc dependencies') -+ endif - endif - - # On FreeBSD and MidnightBSD, epoll-shim library is required for eventfd() and timerfd() --- -GitLab - diff --git a/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch b/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch deleted file mode 100644 index ab102a6..0000000 --- a/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch +++ /dev/null @@ -1,79 +0,0 @@ -From b5f031bc15524bbfde577290ad9bbadeab77ae8b Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Sun, 30 Jun 2024 13:44:06 -0400 -Subject: [PATCH] meson: fix conflicting use of feature-based dependency - lookups - -When spa-plugins is enabled, the gio-2.0 global dependency is -overwritten. - -When bluez support is enabled, OR when gsettings is enabled, the gio-2.0 -dependency is then detected as found. This means that -pipewire-module-protocol-pulse can end up enabling gsettings support -even if it has been forcibly turned off. - -Rename the meson variables to ensure they are looked up separately. ---- - meson.build | 6 +++--- - spa/meson.build | 6 +++--- - src/modules/meson.build | 4 ++-- - 3 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/meson.build b/meson.build -index 2607c5c8f4..38b6b59d00 100644 ---- a/meson.build -+++ b/meson.build -@@ -346,9 +346,9 @@ summary({'GLib-2.0 (Flatpak support)': glib2_dep.found()}, bool_yn: true, sectio - flatpak_support = glib2_dep.found() - cdata.set('HAVE_GLIB2', flatpak_support) - --gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings')) --summary({'GIO (GSettings)': gio_dep.found()}, bool_yn: true, section: 'Misc dependencies') --if not gio_dep.found() and get_option('gsettings-pulse-schema').enabled() -+gsettings_gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings')) -+summary({'GIO (GSettings)': gsettings_gio_dep.found()}, bool_yn: true, section: 'Misc dependencies') -+if not gsettings_gio_dep.found() and get_option('gsettings-pulse-schema').enabled() - error('`gsettings-pulse-schema` is enabled but `gio` was not found.') - endif - -diff --git a/spa/meson.build b/spa/meson.build -index 67e4b5c506..cf25609dab 100644 ---- a/spa/meson.build -+++ b/spa/meson.build -@@ -47,12 +47,12 @@ if get_option('spa-plugins').allowed() - summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend') - - bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5')) -- gio_dep = dependency('gio-2.0', required : get_option('bluez5')) -- gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5')) -+ bluez_gio_dep = dependency('gio-2.0', required : get_option('bluez5')) -+ bluez_gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5')) - bluez_glib2_dep = dependency('glib-2.0', required : get_option('bluez5')) - sbc_dep = dependency('sbc', required: get_option('bluez5')) - summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs') -- bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, gio_dep, gio_unix_dep ] -+ bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, bluez_gio_dep, bluez_gio_unix_dep ] - bluez_deps_found = get_option('bluez5').allowed() - foreach dep: bluez5_deps - if get_option('bluez5').enabled() and not dep.found() -diff --git a/src/modules/meson.build b/src/modules/meson.build -index ceaa7013d9..3f400f0877 100644 ---- a/src/modules/meson.build -+++ b/src/modules/meson.build -@@ -433,11 +433,11 @@ if avahi_dep.found() - cdata.set('HAVE_AVAHI', true) - endif - --if gio_dep.found() -+if gsettings_gio_dep.found() - pipewire_module_protocol_pulse_sources += [ - 'module-protocol-pulse/modules/module-gsettings.c', - ] -- pipewire_module_protocol_pulse_deps += gio_dep -+ pipewire_module_protocol_pulse_deps += gsettings_gio_dep - cdata.set('HAVE_GIO', true) - if get_option('gsettings-pulse-schema').enabled() - install_data(['module-protocol-pulse/modules/org.freedesktop.pulseaudio.gschema.xml'], --- -GitLab - diff --git a/media-video/pipewire/files/pipewire.desktop-r2 b/media-video/pipewire/files/pipewire.desktop-r2 deleted file mode 100644 index 1e8564d..0000000 --- a/media-video/pipewire/files/pipewire.desktop-r2 +++ /dev/null @@ -1,12 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name[de]=PipeWire Mediensystem -Name=PipeWire Media System -Comment[de]=Das PipeWire Mediensystem starten -Comment=Start the PipeWire Media System -Exec=/usr/bin/gentoo-pipewire-launcher restart -Terminal=false -Type=Application -X-GNOME-HiddenUnderSystemd=true -X-KDE-HiddenUnderSystemd=true -X-systemd-skip=true diff --git a/media-video/pipewire/pipewire-1.4.2.ebuild b/media-video/pipewire/pipewire-1.4.2.ebuild deleted file mode 100644 index 3da9c25..0000000 --- a/media-video/pipewire/pipewire-1.4.2.ebuild +++ /dev/null @@ -1,535 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. -# -# 2. Upstream also sometimes amend release notes for the previous release to mention -# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros -# -# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -# TODO: Maybe get upstream to produce `meson dist` tarballs: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663 -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788 -# -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${PIPEWIRE_DOCS_PREBUILT:=1} - -PIPEWIRE_DOCS_PREBUILT_DEV=sam -PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -PIPEWIRE_DOCS_USEFLAG="+man" -PYTHON_COMPAT=( python3_{10..13} ) -inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev - -if [[ ${PV} == 9999 ]]; then - PIPEWIRE_DOCS_PREBUILT=0 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" - inherit git-r3 -else - if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="" - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" - S="${WORKDIR}"/${PN}-${MY_COMMIT} - else - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2" - fi - - if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )" - PIPEWIRE_DOCS_USEFLAG="man" - fi - - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Multimedia processing graphs" -HOMEPAGE="https://pipewire.org/" - -LICENSE="MIT LGPL-2.1+ GPL-2" -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 -SLOT="0/0.4" -IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 loudness lv2" -IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf +libcamera" - -# 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)! - -# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled -# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work -# which provides adequate guarantee that alsa-lib will be able to provide audio services. -# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. -# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. -# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity. -REQUIRED_USE=" - ffmpeg? ( extra ) - bluetooth? ( dbus ) - jack-sdk? ( !jack-client ) - modemmanager? ( bluetooth ) - system-service? ( systemd ) - !sound-server? ( !pipewire-alsa ) - jack-client? ( dbus ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-build/meson-0.59 - virtual/pkgconfig - dbus? ( dev-util/gdbus-codegen ) - doc? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - media-gfx/graphviz - ) - man? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - ) -" -# * While udev could technically be optional, it's needed for a number of options, -# and not really worth it, bug #877769. -# -# * Supports both legacy webrtc-audio-processing:2 and new webrtc-audio-processing:1. -# Automagic but :2 isn't yet packaged. -# -# * Older Doxygen (<1.9.8) may work but inferior output is created: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778 -# - https://github.com/doxygen/doxygen/issues/9254 -RDEPEND=" - acct-group/audio - acct-group/pipewire - media-libs/alsa-lib[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - dev-libs/glib - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/opus - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - elogind? ( sys-auth/elogind ) - dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 ) - extra? ( >=media-libs/libsndfile-1.0.20 ) - ffmpeg? ( media-video/ffmpeg:= ) - flatpak? ( dev-libs/glib ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - gsettings? ( >=dev-libs/glib-2.26.0:2 ) - ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - liblc3? ( media-sound/liblc3 ) - loudness? ( media-libs/libebur128:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lilv ) - modemmanager? ( >=net-misc/modemmanager-1.10.0 ) - pipewire-alsa? ( >=media-libs/alsa-lib-1.2.10[${MULTILIB_USEDEP}] ) - sound-server? ( !media-sound/pulseaudio-daemon ) - roc? ( >=media-libs/roc-toolkit-0.4.0:= ) - readline? ( sys-libs/readline:= ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( acct-user/pipewire ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) - libcamera? ( media-libs/libcamera ) -" - -DEPEND="${RDEPEND}" - -PDEPEND=">=media-video/wireplumber-0.5.2" - -# 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-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch -) - -pkg_setup() { - if use doc || use man ; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - - # Used for upstream backports - [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV} -} - -multilib_src_configure() { - local logind=disabled - if multilib_is_native_abi ; then - if use systemd ; then - logind=enabled - elif use elogind ; then - logind=enabled - fi - fi - - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_feature dbus) - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_use_feature man) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature ieee1394 libffado) - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature gsettings) - $(meson_native_use_feature systemd) - -Dlogind=${logind} - -Dlogind-provider=$(usex systemd 'libsystemd' 'libelogind') - - $(meson_native_use_feature system-service systemd-system-service) - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" - - $(meson_native_use_feature systemd systemd-user-service) - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph - $(meson_feature selinux) - -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) - -Dcompress-offload=disabled # TODO: tinycompress unpackaged - -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) - # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379 - $(meson_native_use_feature modemmanager bluez5-backend-native-mm) - $(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) - $(meson_native_use_feature bluetooth bluez5-codec-g722) - $(meson_native_use_feature bluetooth opus) - $(meson_native_use_feature bluetooth bluez5-codec-opus) - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 - -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_native_use_feature ffmpeg pw-cat-ffmpeg) - $(meson_native_use_feature flatpak) - -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_use 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 - -Dbluez5-codec-lc3plus=disabled # unpackaged - $(meson_native_use_feature liblc3 bluez5-codec-lc3) - $(meson_feature loudness ebur128) - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - -Dlibcamera=enabled # libcamera is not in Portage tree - $(meson_native_use_feature roc) - $(meson_native_use_feature readline) - $(meson_native_use_feature ssl raop) - -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) - -Dlibmysofa=disabled # libmysofa is unpackaged - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build - - # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only - # just became stable, with 5.15 being the previous LTS. Many people - # are still on it. - -Dpam-defaults-install=true - - # Just for bell sounds in X11 right now. - $(meson_native_use_feature X x11) - $(meson_native_use_feature X x11-xfixes) - $(meson_native_use_feature X libcanberra) - - # TODO - -Dsnap=disabled - ) - - # This installs the schema file for pulseaudio-daemon, iff we are replacing - # the official sound-server - if use !sound-server; then - emesonargs+=( '-Dgsettings-pulse-schema=disabled' ) - else - emesonargs+=( - $(meson_native_use_feature gsettings gsettings-pulse-schema) - ) - fi - - meson_src_configure -} - -multilib_src_test() { - meson_src_test --timeout-multiplier 10 -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8] - fi - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - - # Install pipewire conf loader hook - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/99-pipewire-default-hook.conf - eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf - - # These will break if someone has /etc that is a symbolic 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-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf - fi - - exeinto /etc/user/init.d - newexe "${FILESDIR}"/pipewire.initd pipewire - # Enable required wireplumber alsa and bluez monitors - if use sound-server; then - newexe "${FILESDIR}"/pipewire-pulse.initd pipewire-pulse - - # Install sound-server enabler for wireplumber 0.5.0+ conf syntax - insinto /etc/wireplumber/wireplumber.conf.d - doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf - fi - - if use system-service; then - newtmpfiles - pipewire.conf <<-EOF || die - d /run/pipewire 0755 pipewire pipewire - - - EOF - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher - - doman "${FILESDIR}"/gentoo-pipewire-launcher.1 - - # Disable pipewire-pulse if sound-server is disabled. - if ! use sound-server ; then - sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die - fi - - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_preinst() { - HAD_SOUND_SERVER=0 - HAD_SYSTEM_SERVICE=0 - - if has_version "media-video/pipewire[sound-server(-)]" ; then - HAD_SOUND_SERVER=1 - fi - - if has_version "media-video/pipewire[system-service(-)]" ; then - HAD_SYSTEM_SERVICE=1 - fi -} - -pkg_postinst() { - udev_reload - - use system-service && tmpfiles_process pipewire.conf - - local ver - for ver in ${REPLACING_VERSIONS} ; do - if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then - # https://bugs.gentoo.org/908490 - # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243 - ewarn "Please restart KWin/Mutter after upgrading PipeWire." - ewarn "Screencasting may not work until you do." - fi - - if ver_test ${ver} -le 0.3.66-r1 ; then - elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions" - elog "and limits needed to function smoothly:" - elog - elog "1. Please make sure your user is in the 'pipewire' group for" - elog "the best experience with realtime scheduling (PAM limits behavior)!" - elog "You can add your account with:" - elog " usermod -aG pipewire " - elog - elog "2. For the best experience with fast user switching, it is recommended" - elog "that you remove your user from the 'audio' group unless you rely on the" - elog "audio group for device access control or ACLs.:" - elog " usermod -rG audio " - elog - - if ! use jack-sdk ; then - elog - 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 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 - ewarn - ewarn "PipeWire daemon startup has been moved to a launcher script!" - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" - ewarn - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" - ewarn "advised that a D-Bus user session is set up before starting the script." - ewarn - fi - - if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then - elog - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit pulseaudio client configuration files:" - elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" - elog "if it exists, and disable autospawning 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}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" - elog "command:" - elog - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" - elog - fi - - if has_version 'net-misc/ofono' ; then - ewarn "Native backend has become default. Please disable oFono via:" - if systemd_is_booted ; then - ewarn "systemctl disable ofono" - else - ewarn "rc-update delete ofono" - fi - fi - fi - done - - if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - # TODO: We could drop most of this if we set up systemd presets? - # They're worth looking into because right now, the out-of-the-box experience - # is automatic on OpenRC, while it needs manual intervention on systemd. - if use sound-server && use systemd ; then - elog - elog "When switching from PulseAudio, you may need to disable PulseAudio:" - elog - elog " systemctl --user disable pulseaudio.service pulseaudio.socket" - elog - elog "To use PipeWire, the user units must be manually enabled" - elog "by running this command as each user you use for desktop activities:" - elog - elog " systemctl --user enable pipewire.socket pipewire-pulse.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 WirePlumber" - elog "for relevant users:" - elog - elog " systemctl --user disable pipewire-media-session.service" - elog " systemctl --user --force enable wireplumber.service" - elog - elog "Root user may replace --user with --global to change system default" - elog "configuration for all of the above commands." - elog - fi - - if ! use sound-server ; then - ewarn - ewarn "USE=sound-server is disabled! If you want PipeWire to provide" - ewarn "your sound, please enable it. See the wiki at" - ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" - ewarn "for more details." - ewarn - fi - fi - - if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - ewarn - ewarn "You have enabled the system-service USE flag, which installs" - ewarn "the system-wide systemd units that enable PipeWire to run as a system" - ewarn "service. This is more than likely NOT what you want. You are strongly" - ewarn "advised not to enable this mode and instead stick with systemd user" - ewarn "units. The default configuration files will likely not work out of the" - ewarn "box, and you are on your own with configuration." - ewarn - 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 via D-Bus" sys-auth/rtkit - - if use sound-server && ! use pipewire-alsa; then - optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" - fi -}