3 %bcond_without apidocs # Doxygen based API documentation
4 %bcond_without gstreamer # GStreamer module
6 Summary: PipeWire - server and user space API to deal with multimedia pipelines
7 Summary(pl.UTF-8): PipeWire - serwer i API przestrzeni użytkownika do obsługi potoków multimedialnych
13 #Source0Download: https://github.com/PipeWire/pipewire/releases
14 Source0: https://github.com/PipeWire/pipewire/archive/%{version}/%{name}-%{version}.tar.gz
15 # Source0-md5: 95c5a745b56b68065d528fcf0b1aca31
16 #Patch0: %{name}-what.patch
17 URL: https://pipewire.org/
19 #BuildRequires: SDL2-devel >= 2
20 BuildRequires: alsa-lib-devel
21 BuildRequires: dbus-devel
22 %{?with_apidocs:BuildRequires: doxygen}
23 # libavcodec libavformat libavfilter
24 BuildRequires: ffmpeg-devel
25 BuildRequires: gcc >= 5:3.2
26 %{?with_gstreamer:BuildRequires: glib2-devel >= 1:2.32.0}
27 %{?with_apidocs:BuildRequires: graphviz}
29 BuildRequires: gstreamer-devel >= 1.0
30 BuildRequires: gstreamer-plugins-base-devel >= 1.0
32 BuildRequires: meson >= 0.47.0
33 BuildRequires: ninja >= 1.5
34 BuildRequires: pkgconfig
35 BuildRequires: rpmbuild(macros) >= 1.736
36 BuildRequires: sbc-devel
37 BuildRequires: systemd-devel
38 BuildRequires: udev-devel
39 BuildRequires: xmltoman
40 Requires: %{name}-libs = %{version}-%{release}
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 PipeWire is a server and user space API to deal with multimedia
45 pipelines. This includes:
46 - Making available sources of video (such as from a capture devices
47 or application provided streams) and multiplexing this with
49 - Accessing sources of video for consumption.
50 - Generating graphs for audio and video processing.
52 Nodes in the graph can be implemented as separate processes,
53 communicating with sockets and exchanging multimedia content using fd
56 %description -l pl.UTF-8
57 PipeWire to serwer i API przestrzeni użytkownika do obsługi potoków
58 multimedialnych. Obejmuje to:
59 - udostępnianie źródeł obrazu (np. z urządzeń przechwytujących obraz
60 lub strumieni udostępnianych przez aplikacje) oraz multipleksowanie
62 - dostęp do źródeł obrazu do pobierania
63 - generowanie grafów do przetwarzania dźwięku i obrazu
66 Summary: PipeWire shared library
67 Summary(pl.UTF-8): Biblioteka współdzielona PipeWire
71 PipeWire shared library.
73 %description libs -l pl.UTF-8
74 Biblioteka współdzielona PipeWire.
77 Summary: Header files for PipeWire library and Simple Plugin API
78 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki PipeWire oraz Simple Plugin API
79 Group: Development/Libraries
80 Requires: %{name}-libs = %{version}-%{release}
83 Header files for PipeWire library and Simple Plugin API.
85 %description devel -l pl.UTF-8
86 Pliki nagłówkowe biblioteki PipeWire oraz Simple Plugin API.
89 Summary: API documentation for PipeWire library
90 Summary(pl.UTF-8): Dokumentacja API biblioteki PipeWire
92 %if "%{_rpmversion}" >= "5"
97 API documentation for PipeWire library.
99 %description apidocs -l pl.UTF-8
100 Dokumentacja API biblioteki PipeWire.
102 %package spa-module-alsa
103 Summary: PipeWire SPA plugin to play and record audio with ALSA API
104 Summary(pl.UTF-8): Wtyczka PipeWire SPA do odtwarzania i nagrywania dźwięku przy użyciu API ALSA
106 Requires: %{name}-libs = %{version}-%{release}
108 %description spa-module-alsa
109 PipeWire SPA plugin to play and record audio with ALSA API.
111 %description spa-module-alsa -l pl.UTF-8
112 Wtyczka PipeWire SPA do odtwarzania i nagrywania dźwięku przy użyciu
115 %package spa-module-bluez
116 Summary: PipeWire SPA plugin to play audio with Bluetooth A2DP
117 Summary(pl.UTF-8): Wtyczka PipeWire SPA do odtwarzania dźwięku przez Bluetooth A2DP
119 Requires: %{name}-libs = %{version}-%{release}
121 %description spa-module-bluez
122 PipeWire SPA plugin to play audio with Bluetooth A2DP.
124 %description spa-module-bluez -l pl.UTF-8
125 Wtyczka PipeWire SPA do odtwarzania dźwięku przez Bluetooth A2DP.
127 %package spa-module-ffmpeg
128 Summary: PipeWire SPA plugin to decode/encode with FFmpeg library
129 Summary(pl.UTF-8): Wtyczka PipeWire SPA do kodowania/dekodowania przy użyciu biblioteki FFmpeg
131 Requires: %{name}-libs = %{version}-%{release}
133 %description spa-module-ffmpeg
134 PipeWire SPA plugin to decode/encode with FFmpeg library.
136 %description spa-module-ffmpeg -l pl.UTF-8
137 Wtyczka PipeWire SPA do kodowania/dekodowania przy użyciu biblioteki
140 %package -n gstreamer-pipewire
141 Summary: PipeWire video sink and source plugin for GStreamer
142 Summary(pl.UTF-8): Wtyczka udostępniająca źródło i cel obrazu PipeWire dla GStreamera
144 Requires: %{name} = %{version}-%{release}
145 Requires: gstreamer >= 1.0
146 Requires: gstreamer-plugins-base >= 1.0
148 %description -n gstreamer-pipewire
149 PipeWire video sink and source plugin for GStreamer.
151 %description -n gstreamer-pipewire -l pl.UTF-8
152 Wtyczka udostępniająca źródło i cel obrazu PipeWire dla GStreamera.
159 %{?with_apidocs:-Ddocs=true} \
160 %{!?with_gstreamer:-Dgstreamer=false} \
163 %ninja_build -C build
166 rm -rf $RPM_BUILD_ROOT
168 %ninja_install -C build
170 # packaged as %doc in -apidocs
171 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pipewire/html
174 rm -rf $RPM_BUILD_ROOT
176 %post libs -p /sbin/ldconfig
177 %postun libs -p /sbin/ldconfig
180 %defattr(644,root,root,755)
181 %attr(755,root,root) %{_bindir}/pipewire
182 %attr(755,root,root) %{_bindir}/pipewire-cli
183 %attr(755,root,root) %{_bindir}/pipewire-monitor
184 %attr(755,root,root) %{_bindir}/spa-inspect
185 %attr(755,root,root) %{_bindir}/spa-monitor
186 %dir %{_sysconfdir}/pipewire
187 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/pipewire.conf
188 %{systemduserunitdir}/pipewire.service
189 %{systemduserunitdir}/pipewire.socket
190 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-audio-dsp.so
191 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-autolink.so
192 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-client-node.so
193 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-link-factory.so
194 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-mixer.so
196 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-portal.so
198 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-protocol-native.so
200 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-rtkit.so
201 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-spa-monitor.so
202 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-spa-node.so
203 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-spa-node-factory.so
204 %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-suspend-on-idle.so
205 %dir %{_libdir}/spa/audiomixer
206 %attr(755,root,root) %{_libdir}/spa/audiomixer/libspa-audiomixer.so
207 %dir %{_libdir}/spa/audiotestsrc
208 %attr(755,root,root) %{_libdir}/spa/audiotestsrc/libspa-audiotestsrc.so
209 %dir %{_libdir}/spa/support
211 %attr(755,root,root) %{_libdir}/spa/support/libspa-dbus.so
212 %attr(755,root,root) %{_libdir}/spa/support/libspa-support.so
213 %dir %{_libdir}/spa/test
214 %attr(755,root,root) %{_libdir}/spa/test/libspa-test.so
215 %dir %{_libdir}/spa/v4l2
217 %attr(755,root,root) %{_libdir}/spa/v4l2/libspa-v4l2.so
218 %dir %{_libdir}/spa/videotestsrc
219 %attr(755,root,root) %{_libdir}/spa/videotestsrc/libspa-videotestsrc.so
220 %dir %{_libdir}/spa/volume
221 %attr(755,root,root) %{_libdir}/spa/volume/libspa-volume.so
222 %{_mandir}/man1/pipewire.1*
223 %{_mandir}/man1/pipewire-cli.1*
224 %{_mandir}/man1/pipewire-monitor.1*
225 %{_mandir}/man5/pipewire.conf.5*
228 %defattr(644,root,root,755)
229 %doc LICENSE NEWS README
230 %attr(755,root,root) %{_libdir}/libpipewire-0.2.so.*.*.*
231 %attr(755,root,root) %ghost %{_libdir}/libpipewire-0.2.so.1
232 %dir %{_libdir}/pipewire-0.2
236 %defattr(644,root,root,755)
237 %attr(755,root,root) %{_libdir}/libpipewire-0.2.so
238 %{_includedir}/pipewire
240 %{_pkgconfigdir}/libpipewire-0.2.pc
241 %{_pkgconfigdir}/libspa-0.1.pc
245 %defattr(644,root,root,755)
246 %doc doc/design.txt build/doc/html/*
249 %files spa-module-alsa
250 %defattr(644,root,root,755)
251 %dir %{_libdir}/spa/alsa
252 # R: alsa-lib udev-libs
253 %attr(755,root,root) %{_libdir}/spa/alsa/libspa-alsa.so
255 %files spa-module-bluez
256 %defattr(644,root,root,755)
257 %dir %{_libdir}/spa/bluez5
259 %attr(755,root,root) %{_libdir}/spa/bluez5/libspa-bluez5.so
261 %files spa-module-ffmpeg
262 %defattr(644,root,root,755)
263 %dir %{_libdir}/spa/ffmpeg
265 %attr(755,root,root) %{_libdir}/spa/ffmpeg/libspa-ffmpeg.so
267 %if %{with gstreamer}
268 %files -n gstreamer-pipewire
269 %defattr(644,root,root,755)
270 %attr(755,root,root) %{_libdir}/gstreamer-1.0/libgstpipewire.so