From 911dd57a324ae4ac6e652d4b0d24c1ce335cf4c6 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Wed, 5 Jun 2019 18:24:25 +0200 Subject: [PATCH 1/1] - new --- pipewire.spec | 271 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 271 insertions(+) create mode 100644 pipewire.spec diff --git a/pipewire.spec b/pipewire.spec new file mode 100644 index 0000000..4a7cf18 --- /dev/null +++ b/pipewire.spec @@ -0,0 +1,271 @@ +# +# Conditional build: +%bcond_without apidocs # Doxygen based API documentation +%bcond_without gstreamer # GStreamer module +# +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.2.6 +Release: 1 +License: LGPL v2+ +Group: Libraries +#Source0Download: https://github.com/PipeWire/pipewire/releases +Source0: https://github.com/PipeWire/pipewire/archive/%{version}/%{name}-%{version}.tar.gz +# Source0-md5: 95c5a745b56b68065d528fcf0b1aca31 +#Patch0: %{name}-what.patch +URL: https://pipewire.org/ +# for tests only +#BuildRequires: SDL2-devel >= 2 +BuildRequires: alsa-lib-devel +BuildRequires: dbus-devel +%{?with_apidocs:BuildRequires: doxygen} +# libavcodec libavformat libavfilter +BuildRequires: ffmpeg-devel +BuildRequires: gcc >= 5:3.2 +%{?with_gstreamer:BuildRequires: glib2-devel >= 1:2.32.0} +%{?with_apidocs:BuildRequires: graphviz} +%if %{with gstreamer} +BuildRequires: gstreamer-devel >= 1.0 +BuildRequires: gstreamer-plugins-base-devel >= 1.0 +%endif +BuildRequires: meson >= 0.47.0 +BuildRequires: ninja >= 1.5 +BuildRequires: pkgconfig +BuildRequires: rpmbuild(macros) >= 1.736 +BuildRequires: sbc-devel +BuildRequires: systemd-devel +BuildRequires: udev-devel +BuildRequires: xmltoman +Requires: %{name}-libs = %{version}-%{release} +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%description +PipeWire is a server and user space API to deal with multimedia +pipelines. This includes: + - Making available sources of video (such as from a capture devices + or application provided streams) and multiplexing this with + clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + +Nodes in the graph can be implemented as separate processes, +communicating with sockets and exchanging multimedia content using fd +passing. + +%description -l pl.UTF-8 +PipeWire to serwer i API przestrzeni użytkownika do obsługi potoków +multimedialnych. Obejmuje to: + - udostępnianie źródeł obrazu (np. z urządzeń przechwytujących obraz + lub strumieni udostępnianych przez aplikacje) oraz multipleksowanie + ich do klientów + - dostęp do źródeł obrazu do pobierania + - generowanie grafów do przetwarzania dźwięku i obrazu + +%package libs +Summary: PipeWire shared library +Summary(pl.UTF-8): Biblioteka współdzielona PipeWire +Group: Libraries + +%description libs +PipeWire shared library. + +%description libs -l pl.UTF-8 +Biblioteka współdzielona PipeWire. + +%package devel +Summary: Header files for PipeWire library and Simple Plugin API +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki PipeWire oraz Simple Plugin API +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description devel +Header files for PipeWire library and Simple Plugin API. + +%description devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki PipeWire oraz Simple Plugin API. + +%package apidocs +Summary: API documentation for PipeWire library +Summary(pl.UTF-8): Dokumentacja API biblioteki PipeWire +Group: Documentation +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description apidocs +API documentation for PipeWire library. + +%description apidocs -l pl.UTF-8 +Dokumentacja API biblioteki PipeWire. + +%package spa-module-alsa +Summary: PipeWire SPA plugin to play and record audio with ALSA API +Summary(pl.UTF-8): Wtyczka PipeWire SPA do odtwarzania i nagrywania dźwięku przy użyciu API ALSA +Group: Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description spa-module-alsa +PipeWire SPA plugin to play and record audio with ALSA API. + +%description spa-module-alsa -l pl.UTF-8 +Wtyczka PipeWire SPA do odtwarzania i nagrywania dźwięku przy użyciu +API ALSA. + +%package spa-module-bluez +Summary: PipeWire SPA plugin to play audio with Bluetooth A2DP +Summary(pl.UTF-8): Wtyczka PipeWire SPA do odtwarzania dźwięku przez Bluetooth A2DP +Group: Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description spa-module-bluez +PipeWire SPA plugin to play audio with Bluetooth A2DP. + +%description spa-module-bluez -l pl.UTF-8 +Wtyczka PipeWire SPA do odtwarzania dźwięku przez Bluetooth A2DP. + +%package spa-module-ffmpeg +Summary: PipeWire SPA plugin to decode/encode with FFmpeg library +Summary(pl.UTF-8): Wtyczka PipeWire SPA do kodowania/dekodowania przy użyciu biblioteki FFmpeg +Group: Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description spa-module-ffmpeg +PipeWire SPA plugin to decode/encode with FFmpeg library. + +%description spa-module-ffmpeg -l pl.UTF-8 +Wtyczka PipeWire SPA do kodowania/dekodowania przy użyciu biblioteki +FFmpeg. + +%package -n gstreamer-pipewire +Summary: PipeWire video sink and source plugin for GStreamer +Summary(pl.UTF-8): Wtyczka udostępniająca źródło i cel obrazu PipeWire dla GStreamera +Group: Libraries +Requires: %{name} = %{version}-%{release} +Requires: gstreamer >= 1.0 +Requires: gstreamer-plugins-base >= 1.0 + +%description -n gstreamer-pipewire +PipeWire video sink and source plugin for GStreamer. + +%description -n gstreamer-pipewire -l pl.UTF-8 +Wtyczka udostępniająca źródło i cel obrazu PipeWire dla GStreamera. + +%prep +%setup -q + +%build +%meson build \ + %{?with_apidocs:-Ddocs=true} \ + %{!?with_gstreamer:-Dgstreamer=false} \ + -Dman=true + +%ninja_build -C build + +%install +rm -rf $RPM_BUILD_ROOT + +%ninja_install -C build + +# packaged as %doc in -apidocs +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pipewire/html + +%clean +rm -rf $RPM_BUILD_ROOT + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%files +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/pipewire +%attr(755,root,root) %{_bindir}/pipewire-cli +%attr(755,root,root) %{_bindir}/pipewire-monitor +%attr(755,root,root) %{_bindir}/spa-inspect +%attr(755,root,root) %{_bindir}/spa-monitor +%dir %{_sysconfdir}/pipewire +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/pipewire.conf +%{systemduserunitdir}/pipewire.service +%{systemduserunitdir}/pipewire.socket +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-audio-dsp.so +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-autolink.so +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-client-node.so +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-link-factory.so +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-mixer.so +# R: dbus-libs +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-portal.so +# R: systemd-libs +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-protocol-native.so +# R: dbus-libs +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-rtkit.so +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-spa-monitor.so +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-spa-node.so +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-spa-node-factory.so +%attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-suspend-on-idle.so +%dir %{_libdir}/spa/audiomixer +%attr(755,root,root) %{_libdir}/spa/audiomixer/libspa-audiomixer.so +%dir %{_libdir}/spa/audiotestsrc +%attr(755,root,root) %{_libdir}/spa/audiotestsrc/libspa-audiotestsrc.so +%dir %{_libdir}/spa/support +# R: dbus-libs +%attr(755,root,root) %{_libdir}/spa/support/libspa-dbus.so +%attr(755,root,root) %{_libdir}/spa/support/libspa-support.so +%dir %{_libdir}/spa/test +%attr(755,root,root) %{_libdir}/spa/test/libspa-test.so +%dir %{_libdir}/spa/v4l2 +# R: udev-libs +%attr(755,root,root) %{_libdir}/spa/v4l2/libspa-v4l2.so +%dir %{_libdir}/spa/videotestsrc +%attr(755,root,root) %{_libdir}/spa/videotestsrc/libspa-videotestsrc.so +%dir %{_libdir}/spa/volume +%attr(755,root,root) %{_libdir}/spa/volume/libspa-volume.so +%{_mandir}/man1/pipewire.1* +%{_mandir}/man1/pipewire-cli.1* +%{_mandir}/man1/pipewire-monitor.1* +%{_mandir}/man5/pipewire.conf.5* + +%files libs +%defattr(644,root,root,755) +%doc LICENSE NEWS README +%attr(755,root,root) %{_libdir}/libpipewire-0.2.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpipewire-0.2.so.1 +%dir %{_libdir}/pipewire-0.2 +%dir %{_libdir}/spa + +%files devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libpipewire-0.2.so +%{_includedir}/pipewire +%{_includedir}/spa +%{_pkgconfigdir}/libpipewire-0.2.pc +%{_pkgconfigdir}/libspa-0.1.pc + +%if %{with apidocs} +%files apidocs +%defattr(644,root,root,755) +%doc doc/design.txt build/doc/html/* +%endif + +%files spa-module-alsa +%defattr(644,root,root,755) +%dir %{_libdir}/spa/alsa +# R: alsa-lib udev-libs +%attr(755,root,root) %{_libdir}/spa/alsa/libspa-alsa.so + +%files spa-module-bluez +%defattr(644,root,root,755) +%dir %{_libdir}/spa/bluez5 +# R: dbus-libs sbc +%attr(755,root,root) %{_libdir}/spa/bluez5/libspa-bluez5.so + +%files spa-module-ffmpeg +%defattr(644,root,root,755) +%dir %{_libdir}/spa/ffmpeg +# R: ffmpeg-libs +%attr(755,root,root) %{_libdir}/spa/ffmpeg/libspa-ffmpeg.so + +%if %{with gstreamer} +%files -n gstreamer-pipewire +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/gstreamer-1.0/libgstpipewire.so +%endif -- 2.43.0