]> git.pld-linux.org Git - packages/pipewire.git/blobdiff - pipewire.spec
add libcamera support (disabled by default)
[packages/pipewire.git] / pipewire.spec
index 97c85b802529c8d480d26fdb04a87a4b647d6180..8eacfac7ba98441152b542134910068bfe180332 100644 (file)
@@ -1,23 +1,26 @@
 # TODO: evl support (BR: libevl-devel, https://evlproject.org/)
-# - libcamera integration (no releases yet; ARM specific?)
+# - enable bluez5-codec-lc3
 #
 # Conditional build:
 %bcond_without apidocs         # Doxygen based API documentation
 %bcond_without ffmpeg          # ffmpeg spa plugin integration
 %bcond_without gstreamer       # GStreamer module
 %bcond_without jack            # pipewire-jack and jack spa plugin integration
+%bcond_with    libcamera       # libcamera plugin
 %bcond_without lv2             # LV2 plugins support
+%bcond_without roc             # ROC modules
+%bcond_without x11             # X11 bell support
 #
 Summary:       PipeWire - server and user space API to deal with multimedia pipelines
 Summary(pl.UTF-8):     PipeWire - serwer i API przestrzeni użytkownika do obsługi potoków multimedialnych
 Name:          pipewire
-Version:       0.3.43
-Release:       4
+Version:       0.3.59
+Release:       1
 License:       MIT, LGPL v2+, GPL v2
 Group:         Libraries
 #Source0Download: https://github.com/PipeWire/pipewire/releases
 Source0:       https://github.com/PipeWire/pipewire/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 6e12461b046e45c4c47bd7face365818
+# Source0-md5: 1631ae896a35854b63308c0d6ad916d4
 Patch0:                %{name}-gcc.patch
 URL:           https://pipewire.org/
 %if %{with jack}
@@ -34,7 +37,7 @@ BuildRequires:        docutils
 BuildRequires: fdk-aac-devel
 # libavcodec libavformat libavfilter
 %{?with_ffmpeg:BuildRequires:  ffmpeg-devel}
-BuildRequires: gcc >= 5:3.2
+BuildRequires: gcc >= 6:4.9
 BuildRequires: gettext-tools
 %if %{with gstreamer}
 BuildRequires: glib2-devel >= 1:2.32.0
@@ -50,21 +53,24 @@ BuildRequires:      ldacBT-devel
 # possibly more 32-bit archs (where 8-byte __atomic_store_n require libatomic)
 BuildRequires: libatomic-devel
 %endif
+%{?with_libcamera:BuildRequires:       libcamera-devel}
+%{?with_x11:BuildRequires:     libcanberra-devel}
 BuildRequires: libcap-devel
-# for libcamera
-#BuildRequires:        libdrm-devel >= 2.4.98
+%{?with_libcamera:BuildRequires:       libdrm-devel >= 2.4.98}
 BuildRequires: libfreeaptx-devel
 BuildRequires: libsndfile-devel >= 1.0.20
 BuildRequires: libstdc++-devel >= 6:7
 BuildRequires: libusb-devel >= 1.0
 %{?with_lv2:BuildRequires:     lilv-devel}
-BuildRequires: meson >= 0.56.0
+BuildRequires: meson >= 0.59.0
 BuildRequires: ncurses-devel
 BuildRequires: ninja >= 1.5
 BuildRequires: openssl-devel
+BuildRequires: opus-devel
 BuildRequires: pkgconfig
 BuildRequires: pulseaudio-devel
 BuildRequires: readline-devel >= 8.1.1-2
+%{?with_roc:BuildRequires:     roc-toolkit-devel}
 BuildRequires: rpm-build >= 4.6
 BuildRequires: rpmbuild(macros) >= 2.011
 BuildRequires: sbc-devel
@@ -72,9 +78,15 @@ BuildRequires:       systemd-devel
 BuildRequires: udev-devel
 BuildRequires: webrtc-audio-processing-devel >= 0.2
 BuildRequires: webrtc-audio-processing-devel < 1.0
+%if %{with x11}
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXfixes-devel >= 6
+%endif
+Requires(post,preun):  systemd-units >= 1:250.1
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      libsndfile >= 1.0.20
 Requires:      pipewire-session-manager
+Requires:      systemd-units >= 1:250.1
 Suggests:      rtkit
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -189,6 +201,18 @@ PipeWire SPA plugin to play and record audio with JACK API.
 Wtyczka PipeWire SPA do odtwarzania i nagrywania dźwięku przy użyciu
 API JACK.
 
+%package spa-module-libcamera
+Summary:       PipeWire SPA plugin to access cameras through libcamera
+Summary(pl.UTF-8):     Wtyczka PipeWire SPA do dostępu do kamer przez libcamera
+Group:         Libraries
+Requires:      %{name}-libs = %{version}-%{release}
+
+%description spa-module-libcamera
+PipeWire SPA plugin to access cameras through libcamera.
+
+%description spa-module-libcamera -l pl.UTF-8
+Wtyczka PipeWire SPA do dostępu do kamer przez libcamera.
+
 %package spa-module-vulkan
 Summary:       PipeWire SPA plugin to generate video frames using Vulkan
 Summary(pl.UTF-8):     Wtyczka PipeWire SPA do generowania ramek obrazu przy użyciu Vulkana
@@ -219,7 +243,9 @@ Integracja PipeWire z systemem dźwięku JACK.
 Summary:       PipeWire PulseAudio sound system integration
 Summary(pl.UTF-8):     Integracja PipeWire z systemem dźwięku PulseAudio
 Group:         Libraries
+Requires(post,preun):  systemd-units >= 1:250.1
 Requires:      %{name} = %{version}-%{release}
+Requires:      systemd-units >= 1:250.1
 Suggests:      pulseaudio-tools
 
 %description pulseaudio
@@ -228,6 +254,31 @@ PipeWire PulseAudio sound system integration.
 %description pulseaudio -l pl.UTF-8
 Integracja PipeWire z systemem dźwięku PulseAudio.
 
+%package roc
+Summary:       PipeWire ROC streaming integration
+Summary(pl.UTF-8):     Integracja PipeWire ze strumieniami ROC
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description roc
+PipeWire ROC streaming integration.
+
+%description roc -l pl.UTF-8
+Integracja PipeWire ze strumieniami ROC.
+
+%package x11-bell
+Summary:       PipeWire module for X11 bell support
+Summary(pl.UTF-8):     Moduł PipeWire do obsługi dzwonka X11
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      xorg-lib-libXfixes >= 6
+
+%description x11-bell
+PipeWire module for X11 bell support.
+
+%description x11-bell -l pl.UTF-8
+Moduł PipeWire do obsługi dzwonka X11.
+
 %package -n alsa-plugin-pipewire
 Summary:       PipeWire integration plugin for ALSA sound system
 Summary(pl.UTF-8):     Wtyczka systemu dźwięku ALSA integrująca z PipeWire
@@ -268,13 +319,16 @@ Wtyczka udostępniająca źródło i cel obrazu PipeWire dla GStreamera.
        %{?with_ffmpeg:-Dffmpeg=enabled} \
        %{!?with_gstreamer:-Dgstreamer=disabled} \
        %{!?with_jack:-Djack=disabled} \
+       -Dlibcamera=%{__enabled_disabled libcamera} \
        %{!?with_lv2:-Dlv2=disabled} \
        -Dman=enabled \
        %{!?with_jack:-Dpipewire-jack=disabled} \
+       %{!?with_roc:-Droc=disabled} \
        -Dsession-managers='[]' \
        -Dvideotestsrc=enabled \
        -Dvolume=enabled \
-       -Dvulkan=enabled
+       -Dvulkan=enabled \
+       -Dx11=%{__enabled_disabled x11}
 # TODO: -Devl=enabled
 
 %ninja_build -C build
@@ -296,27 +350,24 @@ cp -p pipewire-alsa/conf/*.conf $RPM_BUILD_ROOT%{_datadir}/alsa/alsa.conf.d
 rm -rf $RPM_BUILD_ROOT
 
 %post
-%systemd_user_post pipewire.service
-%systemd_user_post pipewire.socket
+%systemd_user_post filter-chain.service pipewire.service pipewire.socket
 
 %preun
-%systemd_user_preun pipewire.service
-%systemd_user_preun pipewire.socket
+%systemd_user_preun filter-chain.service pipewire.service pipewire.socket
 
 %post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
 
 %post pulseaudio
-%systemd_user_post pipewire-pulse.service
-%systemd_user_post pipewire-pulse.socket
+%systemd_user_post pipewire-pulse.service pipewire-pulse.socket
 
 %preun pulseaudio
-%systemd_user_preun pipewire-pulse.service
-%systemd_user_preun pipewire-pulse.socket
+%systemd_user_preun pipewire-pulse.service pipewire-pulse.socket
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/pipewire
+%attr(755,root,root) %{_bindir}/pipewire-avb
 %attr(755,root,root) %{_bindir}/pw-cat
 %attr(755,root,root) %{_bindir}/pw-cli
 %attr(755,root,root) %{_bindir}/pw-dot
@@ -344,27 +395,37 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_datadir}/pipewire
 %{_datadir}/pipewire/client.conf
 %{_datadir}/pipewire/client-rt.conf
+%{_datadir}/pipewire/filter-chain.conf
+%{_datadir}/pipewire/minimal.conf
 %{_datadir}/pipewire/pipewire.conf
+%{_datadir}/pipewire/pipewire-avb.conf
 %dir %{_datadir}/pipewire/filter-chain
 %{_datadir}/pipewire/filter-chain/demonic.conf
 %{_datadir}/pipewire/filter-chain/sink-dolby-surround.conf
 %{_datadir}/pipewire/filter-chain/sink-eq6.conf
+%{_datadir}/pipewire/filter-chain/sink-make-LFE.conf
 %{_datadir}/pipewire/filter-chain/sink-matrix-spatialiser.conf
+%{_datadir}/pipewire/filter-chain/sink-mix-FL-FR.conf
 %{_datadir}/pipewire/filter-chain/sink-virtual-surround-5.1-kemar.conf
 %{_datadir}/pipewire/filter-chain/sink-virtual-surround-7.1-hesuvi.conf
+%{_datadir}/pipewire/filter-chain/source-duplicate-FL.conf
 %{_datadir}/pipewire/filter-chain/source-rnnoise.conf
+%{systemduserunitdir}/filter-chain.service
 %{systemduserunitdir}/pipewire.service
 %{systemduserunitdir}/pipewire.socket
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-access.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-adapter.so
+%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-avb.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-client-device.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-client-node.so
 # R: webrtc-audio-processing >= 0.2
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-echo-cancel.so
+%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-fallback-sink.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-filter-chain.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-link-factory.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-loopback.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-metadata.so
+%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-pipe-tunnel.so
 # R: dbus-libs
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-portal.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-profiler.so
@@ -374,6 +435,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-protocol-pulse.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-protocol-simple.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-raop-discover.so
+# R: openssl
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-raop-sink.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-rt.so
 # R: dbus-libs
@@ -386,12 +448,18 @@ rm -rf $RPM_BUILD_ROOT
 # R: avahi-libs
 %attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-zeroconf-discover.so
 %attr(755,root,root) %{_libdir}/pipewire-0.3/v4l2/libpw-v4l2.so
+%dir %{_libdir}/spa-0.2/aec
+%attr(755,root,root) %{_libdir}/spa-0.2/aec/libspa-aec-null.so
+# R: webrtc-audio-processing >= 0.2
+%attr(755,root,root) %{_libdir}/spa-0.2/aec/libspa-aec-webrtc.so
 %dir %{_libdir}/spa-0.2/audioconvert
 %attr(755,root,root) %{_libdir}/spa-0.2/audioconvert/libspa-audioconvert.so
 %dir %{_libdir}/spa-0.2/audiomixer
 %attr(755,root,root) %{_libdir}/spa-0.2/audiomixer/libspa-audiomixer.so
 %dir %{_libdir}/spa-0.2/audiotestsrc
 %attr(755,root,root) %{_libdir}/spa-0.2/audiotestsrc/libspa-audiotestsrc.so
+%dir %{_libdir}/spa-0.2/avb
+%attr(755,root,root) %{_libdir}/spa-0.2/avb/libspa-avb.so
 %dir %{_libdir}/spa-0.2/control
 %attr(755,root,root) %{_libdir}/spa-0.2/control/libspa-control.so
 %dir %{_libdir}/spa-0.2/support
@@ -413,10 +481,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/pw-cat.1*
 %{_mandir}/man1/pw-cli.1*
 %{_mandir}/man1/pw-dot.1*
+%{_mandir}/man1/pw-link.1*
 %{_mandir}/man1/pw-metadata.1*
 %{_mandir}/man1/pw-mididump.1*
 %{_mandir}/man1/pw-mon.1*
 %{_mandir}/man1/pw-profiler.1*
+%{_mandir}/man1/pw-top.1*
 %{_mandir}/man5/pipewire.conf.5*
 
 %files libs
@@ -464,6 +534,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/spa-0.2/bluez5/libspa-codec-bluez5-faststream.so
 # R: ldacBT
 %attr(755,root,root) %{_libdir}/spa-0.2/bluez5/libspa-codec-bluez5-ldac.so
+# R: opus
+%attr(755,root,root) %{_libdir}/spa-0.2/bluez5/libspa-codec-bluez5-opus.so
 # R: sbc
 %attr(755,root,root) %{_libdir}/spa-0.2/bluez5/libspa-codec-bluez5-sbc.so
 %dir %{_datadir}/spa-0.2/bluez5
@@ -483,6 +555,14 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/spa-0.2/jack/libspa-jack.so
 %endif
 
+%if %{with libcamera}
+%files spa-module-libcamera
+%defattr(644,root,root,755)
+%dir %{_libdir}/spa-0.2/libcamera
+# R: libcamera
+%attr(755,root,root) %{_libdir}/spa-0.2/libcamera/libspa-libcamera.so
+%endif
+
 %files spa-module-vulkan
 %defattr(644,root,root,755)
 %dir %{_libdir}/spa-0.2/vulkan
@@ -511,6 +591,22 @@ rm -rf $RPM_BUILD_ROOT
 %{systemduserunitdir}/pipewire-pulse.socket
 %{_mandir}/man1/pipewire-pulse.1*
 
+%if %{with roc}
+%files roc
+%defattr(644,root,root,755)
+# R: roc-toolkit
+%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-roc-sink.so
+# R: roc-toolkit
+%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-roc-source.so
+%endif
+
+%if %{with x11}
+%files x11-bell
+%defattr(644,root,root,755)
+# R: libX11 libXfixes libcanberra
+%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-x11-bell.so
+%endif
+
 %files -n alsa-plugin-pipewire
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/alsa-lib/libasound_module_ctl_pipewire.so
This page took 0.09633 seconds and 4 git commands to generate.