From bc303d27fac79c69ec8bf70ad751ab7df83e95d6 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 03 2020 11:51:14 +0000 Subject: import pipewire-0.3.6-1.el8 --- diff --git a/.gitignore b/.gitignore index 10b1817..ee3fcff 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/pipewire-0.2.7.tar.gz +SOURCES/pipewire-0.3.6.tar.gz diff --git a/.pipewire.metadata b/.pipewire.metadata index caaa5b6..c019c63 100644 --- a/.pipewire.metadata +++ b/.pipewire.metadata @@ -1 +1 @@ -37f8801423a63303a76b8a416c90fba65d41e826 SOURCES/pipewire-0.2.7.tar.gz +edbc897685e921dc6add83dee57e74e140294dcb SOURCES/pipewire-0.3.6.tar.gz diff --git a/SOURCES/0001-conf-disable-bluez5.patch b/SOURCES/0001-conf-disable-bluez5.patch new file mode 100644 index 0000000..022f8d7 --- /dev/null +++ b/SOURCES/0001-conf-disable-bluez5.patch @@ -0,0 +1,24 @@ +From 13945e27434951366960dd3a0461c58487df82a2 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Mon, 30 Mar 2020 15:32:04 +0200 +Subject: [PATCH] conf: disable bluez5 + +Disable bluetooth handling by default to avoid causing +conflicts with pulseaudio. +--- + 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 574cba4f..4ecec24f 100644 +--- a/src/daemon/pipewire.conf.in ++++ b/src/daemon/pipewire.conf.in +@@ -71,4 +71,4 @@ create-object spa-node-factory factory.name=support.node.driver node.name=Dummy + # Execute the given program. This is usually used to start the + # session manager. run the session manager with -h for options + # +-exec pipewire-media-session # -d alsa-seq,alsa-pcm,bluez5,metadata ++exec pipewire-media-session -d bluez5 # -d alsa-seq,alsa-pcm,metadata +-- +2.26.2 + diff --git a/SPECS/pipewire.spec b/SPECS/pipewire.spec index c97f311..3df624d 100644 --- a/SPECS/pipewire.spec +++ b/SPECS/pipewire.spec @@ -1,5 +1,5 @@ -%global apiversion 0.2 -%global spaversion 0.1 +%global apiversion 0.3 +%global spaversion 0.2 #global snap 20141103 #global gitrel 327 @@ -12,25 +12,46 @@ # where/how to apply multilib hacks %global multilib_archs x86_64 %{ix86} ppc64 ppc s390x s390 sparc64 sparcv9 ppc64le +%global enable_alsa 1 + +%if 0%{?fedora} +%global enable_jack 1 +%global enable_pulse 1 +%global enable_vulkan 1 +%endif + +# libpulse and libjack subpackages shouldn't have library provides +# as the files they ship are not in the linker path. We also have +# to exclude requires or else the subpackages wind up requiring the +# libs they're no longer providing +# FIXME: the jack-audio-connection-kit and pulseaudio subpackages +# should get the auto-generated Provides: instead, but they do not, +# either with or without the lines below, not sure how to fix that +%global __provides_exclude_from ^%{_libdir}/pipewire-%{apiversion}/.*$ +%global __requires_exclude_from ^%{_libdir}/pipewire-%{apiversion}/.*$ + Name: pipewire Summary: Media Sharing Server -Version: 0.2.7 +Version: 0.3.6 Release: 1%{?snap:.%{snap}git%{shortcommit}}%{?dist} -License: LGPLv2+ +License: MIT URL: https://pipewire.org/ %if 0%{?gitrel} # git clone git://anongit.freedesktop.org/gstreamer/pipewire # cd pipewire; git reset --hard %{gitcommit}; ./autogen.sh; make; make distcheck Source0: pipewire-%{version}-%{gitrel}-g%{shortcommit}.tar.gz %else -Source0: https://github.com/PipeWire/pipewire/archive/%{version}/pipewire-%{version}.tar.gz +Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{version}/pipewire-%{version}.tar.gz %endif ## upstream patches ## upstreamable patches -BuildRequires: meson >= 0.35.0 +## fedora patches +Patch0: 0001-conf-disable-bluez5.patch + +BuildRequires: meson >= 0.49.0 BuildRequires: gcc BuildRequires: pkgconfig BuildRequires: pkgconfig(libudev) @@ -42,6 +63,10 @@ BuildRequires: pkgconfig(gstreamer-base-1.0) >= 1.10.0 BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.10.0 BuildRequires: pkgconfig(gstreamer-net-1.0) >= 1.10.0 BuildRequires: pkgconfig(gstreamer-allocators-1.0) >= 1.10.0 +%if 0%{?enable_vulkan} +BuildRequires: pkgconfig(vulkan) +%endif +BuildRequires: pkgconfig(bluez) BuildRequires: systemd-devel >= 184 BuildRequires: alsa-lib-devel BuildRequires: libv4l-devel @@ -49,6 +74,7 @@ BuildRequires: doxygen BuildRequires: xmltoman BuildRequires: graphviz BuildRequires: sbc-devel +BuildRequires: libsndfile-devel Requires(pre): shadow-utils Requires: %{name}-libs%{?_isa} = %{version}-%{release} @@ -67,16 +93,25 @@ systems. %package libs Summary: Libraries for PipeWire clients -License: LGPLv2+ +License: MIT Recommends: %{name}%{?_isa} = %{version}-%{release} %description libs This package contains the runtime libraries for any application that wishes to interface with a PipeWire media server. +%package gstreamer +Summary: GStreamer elements for PipeWire +License: MIT +Recommends: %{name}%{?_isa} = %{version}-%{release} + +%description gstreamer +This package contains GStreamer elements to interface with a +PipeWire media server. + %package devel Summary: Headers and libraries for PipeWire client development -License: LGPLv2+ +License: MIT Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel Headers and libraries for developing applications that can communicate with @@ -84,26 +119,110 @@ a PipeWire media server. %package doc Summary: PipeWire media server documentation -License: LGPLv2+ +License: MIT %description doc This package contains documentation for the PipeWire media server. %package utils Summary: PipeWire media server utilities -License: LGPLv2+ +License: MIT Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description utils This package contains command line utilities for the PipeWire media server. +%if 0%{?enable_alsa} +%package alsa +Summary: PipeWire media server ALSA support +License: MIT +Recommends: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description alsa +This package contains an ALSA plugin for the PipeWire media server. +%endif + +%if 0%{?enable_jack} +%package libjack +Summary: PipeWire libjack library +License: MIT +Recommends: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +BuildRequires: jack-audio-connection-kit-devel >= 1.9.10 +# Renamed in F32 +Obsoletes: pipewire-jack < 0.2.96-2 + +%description libjack +This package contains a PipeWire replacement for JACK audio connection kit +"libjack" library. + +%package jack-audio-connection-kit +Summary: PipeWire JACK implementation +License: MIT +Recommends: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libjack%{?_isa} = %{version}-%{release} +BuildRequires: jack-audio-connection-kit-devel >= 1.9.10 +Conflicts: jack-audio-connection-kit +Conflicts: jack-audio-connection-kit-dbus +Provides: jack-audio-connection-kit + +%description jack-audio-connection-kit +This package provides a JACK implementation based on PipeWire + +%package plugin-jack +Summary: PipeWire media server JACK support +License: MIT +BuildRequires: jack-audio-connection-kit-devel +Recommends: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: jack-audio-connection-kit + +%description plugin-jack +This package contains the PipeWire spa plugin to connect to a JACK server. +%endif + +%if 0%{?enable_pulse} +%package libpulse +Summary: PipeWire libpulse library +License: MIT +Recommends: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +BuildRequires: pulseaudio-libs-devel +# Renamed in F32 +Obsoletes: pipewire-pulseaudio < 0.2.96-2 + +%description libpulse +This package contains a PipeWire replacement for PulseAudio "libpulse" library. + +%package pulseaudio +Summary: PipeWire PulseAudio implementation +License: MIT +Recommends: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libpulse%{?_isa} = %{version}-%{release} +BuildRequires: pulseaudio-libs-devel +Conflicts: pulseaudio-libs +Conflicts: pulseaudio-libs-glib2 +Provides: pulseaudio-libs +Provides: pulseaudio-libs-glib2 + +%description pulseaudio +This package provides a PulseAudio implementation based on PipeWire +%endif + %prep %setup -q -T -b0 -n %{name}-%{version}%{?gitrel:-%{gitrel}-g%{shortcommit}} +%patch0 -p1 -b .0000 + %build -%meson -D docs=true -D man=true -D gstreamer=enabled -D systemd=true -%meson_build +%meson \ + -D docs=true -D man=true -D gstreamer=true -D systemd=true \ + %{!?enable_jack:-D jack=false -D pipewire-jack=false} \ + %{!?enable_pulse:-D pipewire-pulseaudio=false} \ + %{!?enable_alsa:-D pipewire-alsa=false} \ + %{!?enable_vulkan:-D vulkan=false} %install %meson_install @@ -111,8 +230,39 @@ This package contains command line utilities for the PipeWire media server. mkdir %{buildroot}%{_userunitdir}/sockets.target.wants ln -s ../pipewire.socket %{buildroot}%{_userunitdir}/sockets.target.wants/pipewire.socket +%if 0%{?enable_jack} +ln -s pipewire-%{apiversion}/jack/libjack.so.0 %{buildroot}%{_libdir}/libjack.so.0.1.0 +ln -s libjack.so.0.1.0 %{buildroot}%{_libdir}/libjack.so.0 +ln -s pipewire-%{apiversion}/jack/libjackserver.so.0 %{buildroot}%{_libdir}/libjackserver.so.0.1.0 +ln -s libjackserver.so.0.1.0 %{buildroot}%{_libdir}/libjackserver.so.0 +ln -s pipewire-%{apiversion}/jack/libjacknet.so.0 %{buildroot}%{_libdir}/libjacknet.so.0.1.0 +ln -s libjacknet.so.0.1.0 %{buildroot}%{_libdir}/libjacknet.so.0 +%endif + +%if 0%{?enable_pulse} +ln -s pipewire-%{apiversion}/pulse/libpulse.so.0 %{buildroot}%{_libdir}/libpulse.so.0 +ln -s pipewire-%{apiversion}/pulse/libpulse-simple.so.0 %{buildroot}%{_libdir}/libpulse-simple.so.0 +ln -s pipewire-%{apiversion}/pulse/libpulse-mainloop-glib.so.0 %{buildroot}%{_libdir}/libpulse-mainloop-glib.so.0 +%endif + +%if 0%{?enable_alsa} +mkdir -p %{buildroot}%{_sysconfdir}/alsa/conf.d/ +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 +%endif + %check -%meson_test +%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" +%{!?tests_nonfatal:exit $TESTS_ERROR} +fi %pre getent group pipewire >/dev/null || groupadd -r pipewire @@ -123,30 +273,44 @@ exit 0 %ldconfig_scriptlets libs %files -%license LICENSE GPL LGPL -%doc README +%license LICENSE COPYING +%doc README.md %if 0%{?systemd} %{_userunitdir}/pipewire.* %{_userunitdir}/sockets.target.wants/pipewire.socket %endif %{_bindir}/pipewire -%{_libdir}/pipewire-%{apiversion}/ -%{_libdir}/spa/ +%{_bindir}/pipewire-media-session %{_mandir}/man1/pipewire.1* %dir %{_sysconfdir}/pipewire/ -%{_sysconfdir}/pipewire/pipewire.conf +%config(noreplace) %{_sysconfdir}/pipewire/pipewire.conf %{_mandir}/man5/pipewire.conf.5* %files libs -%license LICENSE GPL LGPL -%doc README -%{_libdir}/gstreamer-1.0/libgstpipewire.* +%license LICENSE COPYING +%doc README.md %{_libdir}/libpipewire-%{apiversion}.so.* +%{_libdir}/pipewire-%{apiversion}/libpipewire-*.so +%dir %{_libdir}/spa-%{spaversion} +%{_libdir}/spa-%{spaversion}/alsa/ +%{_libdir}/spa-%{spaversion}/audioconvert/ +%{_libdir}/spa-%{spaversion}/audiomixer/ +%{_libdir}/spa-%{spaversion}/bluez5/ +%{_libdir}/spa-%{spaversion}/control/ +%{_libdir}/spa-%{spaversion}/support/ +%{_libdir}/spa-%{spaversion}/v4l2/ +%{_libdir}/spa-%{spaversion}/videoconvert/ +%if 0%{?enable_vulkan} +%{_libdir}/spa-%{spaversion}/vulkan/ +%endif + +%files gstreamer +%{_libdir}/gstreamer-1.0/libgstpipewire.* %files devel %{_libdir}/libpipewire-%{apiversion}.so -%{_includedir}/pipewire/ -%{_includedir}/spa/ +%{_includedir}/pipewire-%{apiversion}/ +%{_includedir}/spa-%{spaversion}/ %{_libdir}/pkgconfig/libpipewire-%{apiversion}.pc %{_libdir}/pkgconfig/libspa-%{spaversion}.pc @@ -154,15 +318,88 @@ exit 0 %{_datadir}/doc/pipewire/html %files utils -%{_bindir}/pipewire-monitor -%{_bindir}/pipewire-cli -%{_mandir}/man1/pipewire-monitor.1* -%{_mandir}/man1/pipewire-cli.1* +%{_bindir}/pw-mon +%{_bindir}/pw-metadata +%{_bindir}/pw-mididump +%{_bindir}/pw-midiplay +%{_bindir}/pw-midirecord +%{_bindir}/pw-cli +%{_bindir}/pw-dot +%{_bindir}/pw-cat +%{_bindir}/pw-play +%{_bindir}/pw-profiler +%{_bindir}/pw-record +%{_mandir}/man1/pw-mon.1* +%{_mandir}/man1/pw-cli.1* +%{_mandir}/man1/pw-cat.1* +%{_mandir}/man1/pw-dot.1* +%{_mandir}/man1/pw-metadata.1* +%{_mandir}/man1/pw-mididump.1* +%{_mandir}/man1/pw-profiler.1* + %{_bindir}/spa-monitor %{_bindir}/spa-inspect +%if 0%{?enable_alsa} +%files alsa +%{_libdir}/alsa-lib/libasound_module_pcm_pipewire.so +%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf +%{_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 +%endif + +%if 0%{?enable_jack} +%files libjack +%{_libdir}/pipewire-%{apiversion}/jack/libjack.so* +%{_libdir}/pipewire-%{apiversion}/jack/libjacknet.so* +%{_libdir}/pipewire-%{apiversion}/jack/libjackserver.so* +%{_bindir}/pw-jack +%{_mandir}/man1/pw-jack.1* + +%files jack-audio-connection-kit +%{_libdir}/libjack.so.* +%{_libdir}/libjackserver.so.* +%{_libdir}/libjacknet.so.* + +%files plugin-jack +%{_libdir}/spa-%{spaversion}/jack/ +%endif + +%if 0%{?enable_pulse} +%files libpulse +%{_libdir}/pipewire-%{apiversion}/pulse/libpulse.so* +%{_libdir}/pipewire-%{apiversion}/pulse/libpulse-simple.so* +%{_libdir}/pipewire-%{apiversion}/pulse/libpulse-mainloop-glib.so* +%{_bindir}/pw-pulse +%{_mandir}/man1/pw-pulse.1* + +%files pulseaudio +%{_libdir}/libpulse.so.0 +%{_libdir}/libpulse-simple.so.0 +%{_libdir}/libpulse-mainloop-glib.so.0 +%endif %changelog +* Tue Jun 23 2020 Wim Taymans - 0.3.6-1 +- Update to 0.3.6 +- Resolves: rhbz#1832347 + +* Mon Jun 15 2020 Wim Taymans - 0.3.5-3 +- Rebuild +- Resolves: rhbz#1832347 + +* Tue May 19 2020 Wim Taymans - 0.3.5-2 +- Disable vulkan +- Resolves: rhbz#1832347 + +* Tue May 19 2020 Wim Taymans - 0.3.5-1 +- Update to 0.3.5 +- Disable pulse and jack +- Add patch to work with meson 0.49 +- Add patch to fix neon compilation +- Resolves: rhbz#1832347 + * Fri Oct 18 2019 David King - 0.2.7-1 - Rebase to 0.2.7 (#1748331)