import pipewire-0.3.6-1.el8

This commit is contained in:
CentOS Sources 2020-11-03 06:51:14 -05:00 committed by Andrew Lukoshko
parent 565cf8ac20
commit 4cc8a49f63
4 changed files with 290 additions and 29 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/pipewire-0.2.7.tar.gz
SOURCES/pipewire-0.3.6.tar.gz

View File

@ -1 +1 @@
37f8801423a63303a76b8a416c90fba65d41e826 SOURCES/pipewire-0.2.7.tar.gz
edbc897685e921dc6add83dee57e74e140294dcb SOURCES/pipewire-0.3.6.tar.gz

View File

@ -0,0 +1,24 @@
From 13945e27434951366960dd3a0461c58487df82a2 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
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

View File

@ -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 <wtaymans@redhat.com> - 0.3.6-1
- Update to 0.3.6
- Resolves: rhbz#1832347
* Mon Jun 15 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.5-3
- Rebuild
- Resolves: rhbz#1832347
* Tue May 19 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.5-2
- Disable vulkan
- Resolves: rhbz#1832347
* Tue May 19 2020 Wim Taymans <wtaymans@redhat.com> - 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 <dking@redhat.com> - 0.2.7-1
- Rebase to 0.2.7 (#1748331)