Update to version 0.3.40 which drops media-session service for WirePlumber

Resolves: rhbz#2022694

Signed-off-by: Neal Gompa <ngompa@centosproject.org>
This commit is contained in:
Neal Gompa 2021-11-15 09:48:19 -05:00
parent 291c1b2387
commit 90f9e76fa5
3 changed files with 129 additions and 71 deletions

View File

@ -0,0 +1,58 @@
From dda2edc0641b57cd0315806a746c787e2c40cefb Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Mon, 15 Nov 2021 10:57:22 +0100
Subject: [PATCH] jack: allow build on old meson of jack.pc
Warn about reduced functionality.
---
pipewire-jack/src/meson.build | 31 +++++++++++++++++++------------
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git a/pipewire-jack/src/meson.build b/pipewire-jack/src/meson.build
index cdc147ba4..3709070e1 100644
--- a/pipewire-jack/src/meson.build
+++ b/pipewire-jack/src/meson.build
@@ -71,21 +71,28 @@ pipewire_jackserver = shared_library('jacknet',
if get_option('jack-devel') == true
if meson.version().version_compare('<0.59.0')
- error(
+ warning(
'''
- Before version 0.59.0 Meson creates a wrong jack pkg-config file.
- For that reason this is now an error. Please update Meson,
- if you want to have JACK development files.
+ Before version 0.59.0 Meson creates a wrong jack pkg-config file
+ for server development. Please update Meson, if you want to have
+ JACK development files for server.
''')
+ pkgconfig.generate(filebase : 'jack',
+ libraries : [pipewire_jack, pipewire_jackserver],
+ name : 'jack',
+ description : 'PipeWire JACK API',
+ version : '1.9.17',
+ extra_cflags : '-D_REENTRANT',
+ variables: ['server_libs=-L${libdir} -ljackserver'])
+ else
+ pkgconfig.generate(filebase : 'jack',
+ libraries : [pipewire_jack, pipewire_jackserver],
+ name : 'jack',
+ description : 'PipeWire JACK API',
+ version : '1.9.17',
+ extra_cflags : '-D_REENTRANT',
+ unescaped_variables: ['server_libs=-L${libdir} -ljackserver'])
endif
-
- pkgconfig.generate(filebase : 'jack',
- libraries : [pipewire_jack, pipewire_jackserver],
- name : 'jack',
- description : 'PipeWire JACK API',
- version : '1.9.17',
- extra_cflags : '-D_REENTRANT',
- unescaped_variables: ['server_libs=-L${libdir} -ljackserver'])
endif
if sdl_dep.found()
--
GitLab

View File

@ -1,6 +1,6 @@
%global majorversion 0
%global minorversion 3
%global microversion 32
%global microversion 40
%global apiversion 0.3
%global spaversion 0.2
@ -8,7 +8,7 @@
%global libversion %{soversion}.%(bash -c '((intversion = (%{minorversion} * 100) + %{microversion})); echo ${intversion}').0
# For rpmdev-bumpspec and releng automation
%global baserelease 3
%global baserelease 1
#global snapdate 20210107
#global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb
@ -22,8 +22,8 @@
# Build conditions for various features
%bcond_without alsa
%bcond_without media_session
%bcond_without vulkan
%bcond_without v4l2
# Features disabled for RHEL 8
%if 0%{?rhel} && 0%{?rhel} < 9
@ -41,6 +41,13 @@
%bcond_without jackserver_plugin
%endif
# Disabled for RHEL < 10 and Fedora < 36
%if (0%{?rhel} && 0%{?rhel} < 10) || (0%{?fedora} && 0%{?fedora} < 36)
%bcond_with libcamera_plugin
%else
%bcond_without libcamera_plugin
%endif
Name: pipewire
Summary: Media Sharing Server
Version: %{majorversion}.%{minorversion}.%{microversion}
@ -59,6 +66,11 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{ver
## fedora patches
## rhel patches
### Allow Meson < 0.59.0 to work for pipewire-jack
### N.B.: Remove this patch once Meson is upgraded in RHEL
Patch50001: pipewire-jack-allow-old-meson.patch
BuildRequires: gettext
BuildRequires: meson >= 0.49.0
BuildRequires: gcc
@ -83,11 +95,11 @@ BuildRequires: pkgconfig(fdk-aac)
BuildRequires: pkgconfig(vulkan)
%endif
BuildRequires: pkgconfig(bluez)
BuildRequires: systemd-devel >= 184
BuildRequires: systemd-devel
BuildRequires: alsa-lib-devel
BuildRequires: libv4l-devel
BuildRequires: doxygen
BuildRequires: xmltoman
BuildRequires: python-docutils
BuildRequires: graphviz
BuildRequires: sbc-devel
BuildRequires: libsndfile-devel
@ -96,13 +108,16 @@ BuildRequires: pulseaudio-libs-devel
BuildRequires: avahi-devel
BuildRequires: pkgconfig(webrtc-audio-processing) >= 0.2
BuildRequires: libusb-devel
BuildRequires: readline-devel
Requires(pre): shadow-utils
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: systemd >= 184
Requires: systemd
Requires: rtkit
# A virtual Provides so we can swap session managers
Requires: pipewire-session-manager
# Prefer WirePlumber for session manager
Suggests: wireplumber
%description
PipeWire is a multimedia server for Linux and other Unix like operating
@ -152,22 +167,6 @@ 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
@ -238,6 +237,21 @@ Requires: jack-audio-connection-kit
This package contains the PipeWire spa plugin to connect to a JACK server.
%endif
%if %{with libcamera_plugin}
%package plugin-libcamera
Summary: PipeWire media server libcamera support
License: MIT
BuildRequires: libcamera-devel
BuildRequires: libdrm-devel
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: libcamera
Requires: libdrm
%description plugin-libcamera
This package contains the PipeWire spa plugin to access cameras through libcamera.
%endif
%if %{with pulse}
%package pulseaudio
Summary: PipeWire PulseAudio implementation
@ -276,6 +290,18 @@ Provides: pulseaudio-module-jack
This package provides a PulseAudio implementation based on PipeWire
%endif
%if %{with v4l2}
%package v4l2
Summary: PipeWire media server v4l2 LD_PRELOAD support
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description v4l2
This package contains an LD_PRELOAD library that redirects v4l2 applications to
PipeWire.
%endif
%prep
%autosetup -p1 %{?snapdate:-n %{name}-%{gitcommit}}
@ -283,7 +309,7 @@ This package provides a PulseAudio implementation based on PipeWire
%meson \
-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 audiotestsrc=disabled -D videotestsrc=disabled \
-D volume=disabled -D bluez5-codec-aptx=disabled -D roc=disabled \
%ifarch s390x
-D bluez5-codec-ldac=disabled \
@ -291,7 +317,8 @@ This package provides a PulseAudio implementation based on PipeWire
%{!?with_media_session:-D session-managers=[]} \
%{!?with_jack:-D pipewire-jack=disabled} \
%{!?with_jackserver_plugin:-D jack=disabled} \
%{?with_jack:-D jack-devel=enabled} \
%{!?with_libcamera_plugin:-D libcamera=disabled} \
%{?with_jack:-D jack-devel=true} \
%{!?with_alsa:-D pipewire-alsa=disabled} \
%{?with_vulkan:-D vulkan=enabled}
%meson_build
@ -305,10 +332,6 @@ echo %{_libdir}/pipewire-%{apiversion}/jack/ > %{buildroot}%{_sysconfdir}/ld.so.
%else
rm %{buildroot}%{_datadir}/pipewire/jack.conf
%if %{with media_session}
rm %{buildroot}%{_datadir}/pipewire/media-session.d/with-jack
%endif
%endif
%if %{with alsa}
@ -317,11 +340,6 @@ 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
%if %{with media_session}
touch %{buildroot}%{_datadir}/pipewire/media-session.d/with-alsa
%endif
%endif
%if ! %{with pulse}
@ -329,11 +347,6 @@ touch %{buildroot}%{_datadir}/pipewire/media-session.d/with-alsa
rm %{buildroot}%{_bindir}/pipewire-pulse
rm %{buildroot}%{_userunitdir}/pipewire-pulse.*
rm %{buildroot}%{_datadir}/pipewire/pipewire-pulse.conf
%if %{with media_session}
rm %{buildroot}%{_datadir}/pipewire/media-session.d/with-pulseaudio
%endif
%endif
%find_lang %{name}
@ -344,10 +357,6 @@ mv -fv %{buildroot}/lib/udev/rules.d/90-pipewire-alsa.rules %{buildroot}%{_prefi
%check
%ifarch s390x
# FIXME: s390x FAIL: pw-test-stream, pw-test-endpoint
%global tests_nonfatal 1
%endif
%meson_test || TESTS_ERROR=$?
if [ "${TESTS_ERROR}" != "" ]; then
echo "test failed"
@ -376,11 +385,6 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
%systemd_user_post pipewire-pulse.socket
%endif
%if %{with media_session}
%post media-session
%systemd_user_post pipewire-media-session.service
%endif
%files
%license LICENSE COPYING
%doc README.md
@ -392,29 +396,6 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
%{_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
@ -424,6 +405,8 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
%dir %{_datadir}/alsa-card-profile/mixer/
%{_datadir}/alsa-card-profile/mixer/paths/
%{_datadir}/alsa-card-profile/mixer/profile-sets/
%dir %{_datadir}/spa-0.2/
%{_datadir}/spa-0.2/bluez5/bluez-hardware.conf
%{_prefix}/lib/udev/rules.d/90-pipewire-alsa.rules
%dir %{_libdir}/spa-%{spaversion}
%{_libdir}/spa-%{spaversion}/alsa/
@ -456,6 +439,7 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
%files utils
%{_bindir}/pw-mon
%{_bindir}/pw-metadata
%{_bindir}/pw-dsdplay
%{_bindir}/pw-mididump
%{_bindir}/pw-midiplay
%{_bindir}/pw-midirecord
@ -517,14 +501,30 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
%{_libdir}/spa-%{spaversion}/jack/
%endif
%if %{with libcamera_plugin}
%files plugin-libcamera
%{_libdir}/spa-%{spaversion}/libcamera/
%endif
%if %{with pulse}
%files pulseaudio
%{_bindir}/pipewire-pulse
%{_mandir}/man1/pipewire-pulse.1*
%{_userunitdir}/pipewire-pulse.*
%{_datadir}/pipewire/pipewire-pulse.conf
%endif
%if %{with v4l2}
%files v4l2
%{_bindir}/pw-v4l2
%{_libdir}/pipewire-%{apiversion}/v4l2/libpw-v4l2.so
%endif
%changelog
* Mon Nov 15 2021 Neal Gompa <ngompa@centosproject.org> - 0.3.40-1
- Update to version 0.3.40 which drops media-session service for WirePlumber
Resolves: rhbz#2022694
* Thu Sep 16 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.32-3
- Perform default systemd actions for media-session service.
Resolves: rhbz#1992712

View File

@ -1 +1 @@
SHA512 (pipewire-0.3.32.tar.gz) = 8a7fe26a78071fdd8d4c9e2d9bf3791af8e0cb53b976b45d39dcab4ad08196808f416911fb1b366cc85e3fa80592ec79c4e4556bb3a390f4a10229b4bf9893f7
SHA512 (pipewire-0.3.40.tar.gz) = 63109b87d50be160a6cde632470849564d4743f4cb469f5e3713bb1cbefc08f80416210ddedc09439555b702193c0266a1b9724e366a3b850bdf1a346c5e80cb