%bcond_with systemd %bcond_with rtkit %bcond_with man %global apiversion 0.3 %global spaversion 0.2 #global snap 20141103 #global gitrel 327 #global gitcommit aec811798cd883a454b9b5cd82c77831906bbd2d #global shortcommit %(c=%{gitcommit}; echo ${c:0:5}) # https://bugzilla.redhat.com/983606 %global _hardened_build 1 # where/how to apply multilib hacks %global multilib_archs x86_64 %{ix86} ppc64 ppc s390x s390 sparc64 sparcv9 ppc64le Name: pipewire Summary: Media Sharing Server Version: 0.3.8 Release: 1%{?snap:.%{snap}git%{shortcommit}}%{?_dist_release}%{?with_systemd:.systemd} Vendor: Project Vine Distribution: Vine Linux License: LGPLv2+ 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}.tar.gz %endif ## upstream patches ## upstreamable patches ## fedora patches Patch0: 0001-conf-disable-bluez5.patch BuildRequires: meson >= 0.35.0 BuildRequires: gcc BuildRequires: pkgconfig BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(glib-2.0) >= 2.32 BuildRequires: pkgconfig(gio-unix-2.0) >= 2.32 BuildRequires: pkgconfig(gstreamer-1.0) >= 1.10.0 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 BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(bluez) %if %{with systemd} BuildRequires: systemd-devel >= 184 %else BuildRequires: pkgconfig(libudev) %endif BuildRequires: alsa-lib-devel BuildRequires: libv4l-devel BuildRequires: doxygen %if %{with man} BuildRequires: xmltoman %endif BuildRequires: graphviz BuildRequires: sbc-devel BuildRequires: libsndfile-devel Requires(pre): shadow-utils Requires: %{name}-libs%{?_isa} = %{version}-%{release} %if %{with systemd} Requires: systemd >= 184 %endif %if %{with rtkit} Requires: rtkit %endif # https://bugzilla.redhat.com/983606 %global _hardened_build 1 %if %{with systemd} ## enable systemd activation %global systemd 1 %endif %description PipeWire is a multimedia server for Linux and other Unix like operating systems. %package libs Summary: Libraries for PipeWire clients License: LGPLv2+ 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 devel Summary: Headers and libraries for PipeWire client development License: LGPLv2+ Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel Headers and libraries for developing applications that can communicate with a PipeWire media server. %package doc Summary: PipeWire media server documentation License: LGPLv2+ %description doc This package contains documentation for the PipeWire media server. %package utils Summary: PipeWire media server utilities License: LGPLv2+ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description utils This package contains command line utilities for the PipeWire media server. %prep %setup -q -T -b0 -n %{name}-%{version}%{?gitrel:-%{gitrel}-g%{shortcommit}} %autopatch -p1 %build %meson \ -D docs=true \ -D man=true \ -D gstreamer=true \ -D jack=false \ -D pipewire-jack=false \ -D pipewire-pulseaudio=false \ %if %{with systemd} -D systemd=true %else -D systemd=false %endif %meson_build %install %meson_install 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 %check %meson_test %pre getent group pipewire >/dev/null || groupadd -r pipewire getent passwd pipewire >/dev/null || \ useradd -r -g pipewire -d %{_localstatedir}/run/pipewire -s /sbin/nologin -c "PipeWire System Daemon" pipewire exit 0 %if %{with systemd} %post %systemd_user_post pipewire.service %systemd_user_post pipewire.socket %endif %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %files %license COPYING LICENSE %doc README.md %if %{with systemd} %{_userunitdir}/pipewire.* %endif %{_bindir}/pipewire %{_bindir}/pipewire-media-session %dir %{_sysconfdir}/pipewire/ %config(noreplace) %{_sysconfdir}/pipewire/pipewire.conf %if %{with man} %{_mandir}/man1/pipewire.1* %{_mandir}/man5/pipewire.conf.5* %endif %files libs %license COPYING LICENSE %doc README.md %{_libdir}/libpipewire-%{apiversion}.so.* %{_libdir}/pipewire-%{apiversion}/ %{_libdir}/spa-%{spaversion}/ %{_libdir}/gstreamer-1.0/libgstpipewire.* %{_libdir}/alsa-lib/libasound_module_*_pipewire.so /lib/udev/rules.d/90-pipewire-alsa.rules %{_datadir}/alsa/alsa.conf.d/50-pipewire.conf %{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf %dir %{_datadir}/alsa-card-profile %dir %{_datadir}/alsa-card-profile/mixer %dir %{_datadir}/alsa-card-profile/mixer/paths %dir %{_datadir}/alsa-card-profile/mixer/profile-sets %{_datadir}/alsa-card-profile/mixer/paths/* %{_datadir}/alsa-card-profile/mixer/profile-sets/* %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pipewire.conf %config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf %files devel %{_libdir}/libpipewire-%{apiversion}.so %{_includedir}/pipewire-%{apiversion}/ %{_includedir}/spa-%{spaversion}/ %{_libdir}/pkgconfig/libpipewire-%{apiversion}.pc %{_libdir}/pkgconfig/libspa-%{spaversion}.pc %files doc %{_datadir}/doc/pipewire/html %files utils %{_bindir}/pw-* %{_bindir}/spa-monitor %{_bindir}/spa-inspect %changelog * Mon Aug 03 2020 Tomohiro "Tomo-p" KATO - 0.3.8-1 - new upstream release. - dropped Patch1 and 2: fixed in upstream. - imported Patch0 from rawhide. * Wed Jul 29 2020 Tomohiro "Tomo-p" KATO - 0.2.7-1 - new upstream release. * Mon Sep 23 2019 Tomohiro "Tomo-p" KATO - 0.2.6-6 - initial build for Vine Linux. * Mon Sep 16 2019 Kalev Lember - 0.2.6-5 - Don't require the daemon package for -devel subpackage - Move pipewire.conf man page to the daemon package * Fri Jul 26 2019 Fedora Release Engineering - 0.2.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Wed Jun 19 2019 Wim Taymans - 0.2.6-3 - Add patch to reuse fd in pipewiresrc - Add patch for device provider - Add patch to disable extra security checks until portal is fixed. * Tue Jun 04 2019 Kalev Lember - 0.2.6-2 - Split libpipewire and the gstreamer plugin out to -libs subpackage * Wed May 22 2019 Wim Taymans - 0.2.6-1 - Update to 0.2.6 - Add patch for alsa-lib 1.1.9 include path * Sat Feb 02 2019 Fedora Release Engineering - 0.2.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jan 04 2019 Wim Taymans - 0.2.5-2 - Add patch to avoid invalid conversion error with C++ compilers * Thu Nov 22 2018 Wim Taymans - 0.2.5-1 - Update to 0.2.5 * Thu Nov 22 2018 Wim Taymans - 0.2.4-1 - Update to 0.2.4 * Thu Oct 18 2018 Wim Taymans - 0.2.3-2 - Add systemd socket activation * Thu Aug 30 2018 Wim Taymans - 0.2.3-1 - Update to 0.2.3 * Tue Jul 31 2018 Wim Taymans - 0.2.2-1 - Update to 0.2.2 * Fri Jul 20 2018 Wim Taymans - 0.2.1-1 - Update to 0.2.1 * Tue Jul 17 2018 Wim Taymans - 0.2.0-1 - Update to 0.2.0 * Fri Jul 13 2018 Fedora Release Engineering - 0.1.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue Feb 27 2018 Wim Taymans - 0.1.9-1 - Update to 0.1.9 * Fri Feb 09 2018 Fedora Release Engineering - 0.1.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Sat Feb 03 2018 Igor Gnatenko - 0.1.8-2 - Switch to %%ldconfig_scriptlets * Tue Jan 23 2018 Wim Taymans - 0.1.8-1 - Update to 0.1.8 * Fri Nov 24 2017 Wim Taymans - 0.1.7-1 - Update to 0.1.7 - Add to build when memfd_create is already defined * Fri Nov 03 2017 Wim Taymans - 0.1.6-1 - Update to 0.1.6 * Tue Sep 19 2017 Wim Taymans - 0.1.5-2 - Add patch to avoid segfault when probing * Tue Sep 19 2017 Wim Taymans - 0.1.5-1 - Update to 0.1.5 * Thu Sep 14 2017 Kalev Lember - 0.1.4-3 - Rebuilt for GNOME 3.26.0 megaupdate * Fri Sep 08 2017 Wim Taymans - 0.1.4-2 - Install SPA hooks * Wed Aug 23 2017 Wim Taymans - 0.1.4-1 - Update to 0.1.4 * Wed Aug 09 2017 Wim Taymans - 0.1.3-1 - Update to 0.1.3 * Tue Jul 04 2017 Wim Taymans - 0.1.2-1 - Update to 0.1.2 - Added more build requirements - Make separate doc package * Mon Jun 26 2017 Wim Taymans - 0.1.1-1 - Update to 0.1.1 - Add dbus-1 to BuildRequires - change libs-devel to -devel * Wed Sep 9 2015 Wim Taymans - 0.1.0-2 - Fix BuildRequires to use pkgconfig, add all dependencies found in configure.ac - Add user and groups if needed - Add license to %%licence * Tue Sep 1 2015 Wim Taymans - 0.1.0-1 - First version