diff --git a/.gitignore b/.gitignore index c554a40..64807a8 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,5 @@ /pipewire-0.3.36.tar.gz /pipewire-0.3.37.tar.gz /pipewire-0.3.38.tar.gz +/pipewire-0.3.39.tar.gz +/media-session-0.4.0.tar.gz diff --git a/0001-Build-media-session-from-local-tarbal.patch b/0001-Build-media-session-from-local-tarbal.patch new file mode 100644 index 0000000..e420c4a --- /dev/null +++ b/0001-Build-media-session-from-local-tarbal.patch @@ -0,0 +1,24 @@ +From 4d6d04857a257494257389cc499aea9a6fd740ee Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Thu, 21 Oct 2021 10:01:06 +0200 +Subject: [PATCH] Build media-session from local tarbal + +--- + subprojects/media-session.wrap | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/subprojects/media-session.wrap b/subprojects/media-session.wrap +index f6b4e62fb..a6249e5e1 100644 +--- a/subprojects/media-session.wrap ++++ b/subprojects/media-session.wrap +@@ -1,4 +1,4 @@ +-[wrap-git] +-url = https://gitlab.freedesktop.org/pipewire/media-session.git +-revision = head ++[wrap-file] ++source_filename = media-session-0.4.0.tar.gz ++directory = media-session-0.4.0 + +-- +2.31.1 + diff --git a/0001-cpu-fix-compilation-on-some-architectures.patch b/0001-cpu-fix-compilation-on-some-architectures.patch new file mode 100644 index 0000000..66b546b --- /dev/null +++ b/0001-cpu-fix-compilation-on-some-architectures.patch @@ -0,0 +1,25 @@ +From 651f0decea5f83730c271e9bed03cdd0048fcd49 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Thu, 21 Oct 2021 11:09:48 +0200 +Subject: [PATCH] cpu: fix compilation on some architectures + +--- + spa/plugins/support/cpu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/spa/plugins/support/cpu.c b/spa/plugins/support/cpu.c +index ee1816512..01cff4854 100644 +--- a/spa/plugins/support/cpu.c ++++ b/spa/plugins/support/cpu.c +@@ -270,7 +270,7 @@ impl_init(const struct spa_handle_factory *factory, + if ((str = spa_dict_lookup(info, SPA_KEY_CPU_VM_TYPE)) != NULL) + this->vm_type = atoi(str); + if ((str = spa_dict_lookup(info, SPA_KEY_CPU_ZERO_DENORMALS)) != NULL) +- impl_cpu_zero_denormals(this, spa_atob(str)); ++ spa_cpu_zero_denormals(&this->cpu, spa_atob(str)); + } + + spa_log_debug(this->log, "%p: count:%d align:%d flags:%08x", +-- +2.31.1 + diff --git a/pipewire.spec b/pipewire.spec index 26b761a..9b66a61 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -1,14 +1,15 @@ %global majorversion 0 %global minorversion 3 -%global microversion 38 +%global microversion 39 %global apiversion 0.3 %global spaversion 0.2 %global soversion 0 %global libversion %{soversion}.%(bash -c '((intversion = (%{minorversion} * 100) + %{microversion})); echo ${intversion}').0 +%global ms_version 0.4.0 # For rpmdev-bumpspec and releng automation -%global baserelease 2 +%global baserelease 1 #global snapdate 20210107 #global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb @@ -48,6 +49,8 @@ %bcond_without libcamera_plugin %endif +%bcond_without v4l2 + Name: pipewire Summary: Media Sharing Server Version: %{majorversion}.%{minorversion}.%{microversion} @@ -59,14 +62,15 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{git %else Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{version}/pipewire-%{version}.tar.gz %endif +Source1: https://gitlab.freedesktop.org/pipewire/media-session/-/archive/%{ms_version}/media-session-%{ms_version}.tar.gz ## upstream patches -Patch0001: 0001-cpu-fix-compilation-on-ARM.patch - +Patch0001: 0001-cpu-fix-compilation-on-some-architectures.patch ## upstreamable patches ## fedora patches +Patch1001: 0001-Build-media-session-from-local-tarbal.patch BuildRequires: gettext BuildRequires: meson >= 0.49.0 @@ -305,9 +309,24 @@ 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}} +mkdir subprojects/packagefiles +cp %{SOURCE1} subprojects/packagefiles/ + %build %meson \ -D docs=enabled -D man=enabled -D gstreamer=enabled -D systemd=enabled \ @@ -367,6 +386,9 @@ rm %{buildroot}%{_datadir}/pipewire/media-session.d/with-pulseaudio %endif %find_lang %{name} +%if %{with media_session} +%find_lang media-session +%endif # upstream should use udev.pc mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d @@ -423,7 +445,7 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %{_mandir}/man5/pipewire.conf.5* %if %{with media_session} -%files media-session +%files media-session -f media-session.lang %{_bindir}/pipewire-media-session %{_userunitdir}/pipewire-media-session.service %dir %{_datadir}/pipewire/media-session.d/ @@ -561,7 +583,16 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %{_datadir}/pipewire/pipewire-pulse.conf %endif +%if %{with v4l2} +%files v4l2 +%{_bindir}/pw-v4l2 +%{_libdir}/pipewire-%{apiversion}/v4l2/libpw-v4l2.so +%endif + %changelog +* Thu Oct 21 2021 Wim Taymans - 0.3.39-1 +- Update version to 0.3.39 + * Wed Oct 13 2021 Neal Gompa - 0.3.38-2 - Fix libcamera bcond to work properly in RHEL10+ and F36+ diff --git a/sources b/sources index dc63a81..598e21a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pipewire-0.3.38.tar.gz) = c3c6c822bf4e5e77fed8d6ef09059d3e43195957692ab7baddc349af3d759d892a9af0e7802d389e2a9a15e5fece4c08ec963ac42df931233eec6057bad67eb6 +SHA512 (media-session-0.4.0.tar.gz) = b37c85b85c47e7871066e511947673c7016f72baa00e940907db63e1e7554dfb200d7608ab6ec8ccd4cf84b6d7113894dad956e379bba69d1d8d882dc5b899f2