import pipewire-0.3.40-1.el9

This commit is contained in:
CentOS Sources 2021-12-07 13:01:10 -05:00 committed by Stepan Oksanichenko
parent 9e02bf80b8
commit 7f0583f782
4 changed files with 130 additions and 72 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/pipewire-0.3.32.tar.gz SOURCES/pipewire-0.3.40.tar.gz

View File

@ -1 +1 @@
74eb99864be9cd3c2159bca72083232a360d3b96 SOURCES/pipewire-0.3.32.tar.gz 20dbcf8cd6bb7151b3fd2871756ca2ad91f09f77 SOURCES/pipewire-0.3.40.tar.gz

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