diff --git a/.gitignore b/.gitignore index 1cfeb16..edd0981 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ /pipewire-0.3.24.tar.gz /pipewire-0.3.25.tar.gz /pipewire-0.3.26.tar.gz +/pipewire-0.3.32.tar.gz diff --git a/0001-conf-start-media-session-through-pipewire.patch b/0001-conf-start-media-session-through-pipewire.patch deleted file mode 100644 index 6a42ce5..0000000 --- a/0001-conf-start-media-session-through-pipewire.patch +++ /dev/null @@ -1,25 +0,0 @@ -From cb5a1841e4fdad320e85021ef1c66e5cf52cfc5a Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Thu, 4 Mar 2021 15:38:16 +0100 -Subject: [PATCH 01/10] conf: start media-session through pipewire - ---- - src/daemon/pipewire.conf.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in -index 281671c7c..af89fdc05 100644 ---- a/src/daemon/pipewire.conf.in -+++ b/src/daemon/pipewire.conf.in -@@ -204,7 +204,7 @@ context.exec = [ - # but it is better to start it as a systemd service. - # Run the session manager with -h for options. - # -- @comment@{ path = "@media_session_path@" args = "" } -+ { path = "@media_session_path@" args = "" } - # - # You can optionally start the pulseaudio-server here as well - # but it is better to start it as a systemd service. --- -2.26.3 - diff --git a/pipewire.spec b/pipewire.spec index c890a2a..c74a3f8 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -1,6 +1,6 @@ %global majorversion 0 %global minorversion 3 -%global microversion 26 +%global microversion 32 %global apiversion 0.3 %global spaversion 0.2 @@ -22,6 +22,7 @@ # Build conditions for various features %bcond_without alsa +%bcond_without media_session %bcond_without vulkan # Features disabled for RHEL 8 @@ -57,12 +58,11 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{ver ## upstreamable patches ## fedora patches -Patch1001: 0001-conf-start-media-session-through-pipewire.patch - BuildRequires: gettext BuildRequires: meson >= 0.49.0 BuildRequires: gcc +BuildRequires: g++ BuildRequires: pkgconfig BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(dbus-1) @@ -92,11 +92,17 @@ BuildRequires: graphviz BuildRequires: sbc-devel BuildRequires: libsndfile-devel BuildRequires: ncurses-devel +BuildRequires: pulseaudio-libs-devel +BuildRequires: avahi-devel +BuildRequires: pkgconfig(webrtc-audio-processing) >= 0.2 +BuildRequires: libusb-devel Requires(pre): shadow-utils Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: systemd >= 184 Requires: rtkit +# A virtual Provides so we can swap session managers +Requires: pipewire-session-manager %description PipeWire is a multimedia server for Linux and other Unix like operating @@ -146,6 +152,22 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description utils This package contains command line utilities for the PipeWire media server. +%if %{with media_session} +%package media-session +Summary: PipeWire Media Session Manager +License: MIT +Recommends: %{name}%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-libpulse < %{version}-%{release} + +# Virtual Provides to support swapping between PipeWire session manager implementations +Provides: pipewire-session-manager +Conflicts: pipewire-session-manager + +%description media-session +This package contains the reference Media Session Manager for the +PipeWire media server. +%endif + %if %{with alsa} %package alsa Summary: PipeWire media server ALSA support @@ -262,10 +284,11 @@ This package provides a PulseAudio implementation based on PipeWire -D docs=enabled -D man=enabled -D gstreamer=enabled -D systemd=enabled \ -D gstreamer-device-provider=disabled -D sdl2=disabled \ -D libcamera=disabled -D audiotestsrc=disabled -D videotestsrc=disabled \ - -D volume=disabled -D bluez5-codec-aptx=disabled \ + -D volume=disabled -D bluez5-codec-aptx=disabled -D roc=disabled \ %ifarch s390x -D bluez5-codec-ldac=disabled \ %endif + %{!?with_media_session:-D session-managers=[]} \ %{!?with_jack:-D pipewire-jack=disabled} \ %{!?with_jackserver_plugin:-D jack=disabled} \ %{?with_jack:-D jack-devel=enabled} \ @@ -280,8 +303,12 @@ This package provides a PulseAudio implementation based on PipeWire mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ echo %{_libdir}/pipewire-%{apiversion}/jack/ > %{buildroot}%{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf %else -rm %{buildroot}%{_sysconfdir}/pipewire/jack.conf -rm %{buildroot}%{_sysconfdir}/pipewire/media-session.d/with-jack +rm %{buildroot}%{_datadir}/pipewire/jack.conf + +%if %{with media_session} +rm %{buildroot}%{_datadir}/pipewire/media-session.d/with-jack +%endif + %endif %if %{with alsa} @@ -290,19 +317,24 @@ cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf \ %{buildroot}%{_sysconfdir}/alsa/conf.d/50-pipewire.conf cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf \ %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf -touch %{buildroot}%{_sysconfdir}/pipewire/media-session.d/with-alsa + +%if %{with media_session} +touch %{buildroot}%{_datadir}/pipewire/media-session.d/with-alsa +%endif + %endif %if ! %{with pulse} # If the PulseAudio replacement isn't being offered, delete the files rm %{buildroot}%{_bindir}/pipewire-pulse rm %{buildroot}%{_userunitdir}/pipewire-pulse.* -rm %{buildroot}%{_sysconfdir}/pipewire/media-session.d/with-pulseaudio -rm %{buildroot}%{_sysconfdir}/pipewire/pipewire-pulse.conf +rm %{buildroot}%{_datadir}/pipewire/pipewire-pulse.conf + +%if %{with media_session} +rm %{buildroot}%{_datadir}/pipewire/media-session.d/with-pulseaudio %endif -# We don't start the media session with systemd yet -rm %{buildroot}%{_userunitdir}/pipewire-media-session.* +%endif %find_lang %{name} @@ -349,17 +381,35 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %doc README.md %{_userunitdir}/pipewire.* %{_bindir}/pipewire -%{_bindir}/pipewire-media-session %{_mandir}/man1/pipewire.1* -%dir %{_sysconfdir}/pipewire/ -%dir %{_sysconfdir}/pipewire/media-session.d/ -%config(noreplace) %{_sysconfdir}/pipewire/pipewire.conf -%config(noreplace) %{_sysconfdir}/pipewire/media-session.d/alsa-monitor.conf -%config(noreplace) %{_sysconfdir}/pipewire/media-session.d/bluez-monitor.conf -%config(noreplace) %{_sysconfdir}/pipewire/media-session.d/media-session.conf -%config(noreplace) %{_sysconfdir}/pipewire/media-session.d/v4l2-monitor.conf +%dir %{_datadir}/pipewire/ +%{_datadir}/pipewire/pipewire.conf +%{_datadir}/pipewire/filter-chain/*.conf %{_mandir}/man5/pipewire.conf.5* +%if %{with media_session} +%files media-session +%{_bindir}/pipewire-media-session +%{_userunitdir}/pipewire-media-session.service +%dir %{_datadir}/pipewire/media-session.d/ +%{_datadir}/pipewire/media-session.d/alsa-monitor.conf +%{_datadir}/pipewire/media-session.d/bluez-hardware.conf +%{_datadir}/pipewire/media-session.d/bluez-monitor.conf +%{_datadir}/pipewire/media-session.d/media-session.conf +%{_datadir}/pipewire/media-session.d/v4l2-monitor.conf + +%if %{with alsa} +%{_datadir}/pipewire/media-session.d/with-alsa +%endif +%if %{with jack} +%{_datadir}/pipewire/media-session.d/with-jack +%endif +%if %{with pulse} +%{_datadir}/pipewire/media-session.d/with-pulseaudio +%endif + +%endif + %files libs -f %{name}.lang %license LICENSE COPYING %doc README.md @@ -382,8 +432,8 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %if %{with vulkan} %{_libdir}/spa-%{spaversion}/vulkan/ %endif -%config(noreplace) %{_sysconfdir}/pipewire/client.conf -%config(noreplace) %{_sysconfdir}/pipewire/client-rt.conf +%{_datadir}/pipewire/client.conf +%{_datadir}/pipewire/client-rt.conf %files gstreamer %{_libdir}/gstreamer-1.0/libgstpipewire.* @@ -437,7 +487,6 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pipewire.conf %config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf -%config(noreplace) %{_sysconfdir}/pipewire/media-session.d/with-alsa %endif %if %{with jack} @@ -447,8 +496,7 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %{_libdir}/pipewire-%{apiversion}/jack/libjack.so.* %{_libdir}/pipewire-%{apiversion}/jack/libjacknet.so.* %{_libdir}/pipewire-%{apiversion}/jack/libjackserver.so.* -%config(noreplace) %{_sysconfdir}/pipewire/jack.conf -%config(noreplace) %{_sysconfdir}/pipewire/media-session.d/with-jack +%{_datadir}/pipewire/jack.conf %{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf %files jack-audio-connection-kit-devel @@ -468,11 +516,14 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %files pulseaudio %{_bindir}/pipewire-pulse %{_userunitdir}/pipewire-pulse.* -%config(noreplace) %{_sysconfdir}/pipewire/media-session.d/with-pulseaudio -%config(noreplace) %{_sysconfdir}/pipewire/pipewire-pulse.conf +%{_datadir}/pipewire/pipewire-pulse.conf %endif %changelog +* Wed Jul 21 2021 Neal Gompa - 0.3.32-1 +- Update to 0.3.32 + Resolves: rhbz#1956854 + * Sat Apr 24 2021 Neal Gompa - 0.3.26-1 - Update to 0.3.26 - Add jack-devel subpackage, enable JACK support on RHEL 9+ (#1945951) diff --git a/sources b/sources index e5dd979..b2d2c8b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pipewire-0.3.26.tar.gz) = d771956a42801a6e07fac48a175363eb4107a9fba13d649ff5c2cdc40044c84a61bf56050783507f6dd8efae8c59a2be07ec67433827335ae60f8116c4a4e178 +SHA512 (pipewire-0.3.32.tar.gz) = 8a7fe26a78071fdd8d4c9e2d9bf3791af8e0cb53b976b45d39dcab4ad08196808f416911fb1b366cc85e3fa80592ec79c4e4556bb3a390f4a10229b4bf9893f7