]> git.pld-linux.org Git - packages/pipewire.git/blame_incremental - pipewire.spec
- rediff
[packages/pipewire.git] / pipewire.spec
... / ...
CommitLineData
1# TODO: evl support (BR: libevl-devel, https://evlproject.org/)
2# - libcamera integration (no releases yet; ARM specific?)
3#
4# Conditional build:
5%bcond_without apidocs # Doxygen based API documentation
6%bcond_without ffmpeg # ffmpeg spa plugin integration
7%bcond_without gstreamer # GStreamer module
8%bcond_without jack # pipewire-jack and jack spa plugin integration
9#
10Summary: PipeWire - server and user space API to deal with multimedia pipelines
11Summary(pl.UTF-8): PipeWire - serwer i API przestrzeni użytkownika do obsługi potoków multimedialnych
12Name: pipewire
13Version: 0.3.24
14Release: 1
15License: LGPL v2+
16Group: Libraries
17#Source0Download: https://github.com/PipeWire/pipewire/releases
18Source0: https://github.com/PipeWire/pipewire/archive/%{version}/%{name}-%{version}.tar.gz
19# Source0-md5: 887be3193a91f18c7ea63e3f5c61976b
20Patch0: %{name}-gcc.patch
21URL: https://pipewire.org/
22%if %{with jack}
23BuildRequires: SDL2-devel >= 2
24%endif
25BuildRequires: Vulkan-Loader-devel >= 1.1.69
26BuildRequires: alsa-lib-devel >= 1.1.7
27BuildRequires: bluez-libs-devel >= 4.101
28BuildRequires: dbus-devel
29%{?with_apidocs:BuildRequires: doxygen}
30BuildRequires: fdk-aac-devel
31# libavcodec libavformat libavfilter
32%{?with_ffmpeg:BuildRequires: ffmpeg-devel}
33BuildRequires: gcc >= 5:3.2
34%if %{with gstreamer}
35BuildRequires: glib2-devel >= 1:2.32.0
36%endif
37%{?with_apidocs:BuildRequires: graphviz}
38%if %{with gstreamer}
39BuildRequires: gstreamer-devel >= 1.10
40BuildRequires: gstreamer-plugins-base-devel >= 1.10
41%endif
42%{?with_jack:BuildRequires: jack-audio-connection-kit-devel >= 1.9.10}
43BuildRequires: ldacBT-devel
44%ifarch i386 i486
45# possibly more 32-bit archs (where 8-byte __atomic_store_n require libatomic)
46BuildRequires: libatomic-devel
47%endif
48BuildRequires: libopenaptx-devel
49BuildRequires: libsndfile-devel >= 1.0.20
50BuildRequires: meson >= 0.50.0
51BuildRequires: ncurses-devel
52BuildRequires: ninja >= 1.5
53BuildRequires: pkgconfig
54BuildRequires: rpmbuild(macros) >= 1.752
55BuildRequires: sbc-devel
56BuildRequires: systemd-devel
57BuildRequires: udev-devel
58BuildRequires: xmltoman
59Requires: %{name}-libs = %{version}-%{release}
60Requires: libsndfile >= 1.0.20
61BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62
63%description
64PipeWire is a server and user space API to deal with multimedia
65pipelines. This includes:
66 - Making available sources of video (such as from a capture devices
67 or application provided streams) and multiplexing this with
68 clients.
69 - Accessing sources of video for consumption.
70 - Generating graphs for audio and video processing.
71
72Nodes in the graph can be implemented as separate processes,
73communicating with sockets and exchanging multimedia content using fd
74passing.
75
76%description -l pl.UTF-8
77PipeWire to serwer i API przestrzeni użytkownika do obsługi potoków
78multimedialnych. Obejmuje to:
79 - udostępnianie źródeł obrazu (np. z urządzeń przechwytujących obraz
80 lub strumieni udostępnianych przez aplikacje) oraz multipleksowanie
81 ich do klientów
82 - dostęp do źródeł obrazu do pobierania
83 - generowanie grafów do przetwarzania dźwięku i obrazu
84
85%package libs
86Summary: PipeWire shared library
87Summary(pl.UTF-8): Biblioteka współdzielona PipeWire
88Group: Libraries
89
90%description libs
91PipeWire shared library.
92
93%description libs -l pl.UTF-8
94Biblioteka współdzielona PipeWire.
95
96%package devel
97Summary: Header files for PipeWire library and Simple Plugin API
98Summary(pl.UTF-8): Pliki nagłówkowe biblioteki PipeWire oraz Simple Plugin API
99Group: Development/Libraries
100Requires: %{name}-libs = %{version}-%{release}
101
102%description devel
103Header files for PipeWire library and Simple Plugin API.
104
105%description devel -l pl.UTF-8
106Pliki nagłówkowe biblioteki PipeWire oraz Simple Plugin API.
107
108%package apidocs
109Summary: API documentation for PipeWire library
110Summary(pl.UTF-8): Dokumentacja API biblioteki PipeWire
111Group: Documentation
112BuildArch: noarch
113
114%description apidocs
115API documentation for PipeWire library.
116
117%description apidocs -l pl.UTF-8
118Dokumentacja API biblioteki PipeWire.
119
120%package spa-module-alsa
121Summary: PipeWire SPA plugin to play and record audio with ALSA API
122Summary(pl.UTF-8): Wtyczka PipeWire SPA do odtwarzania i nagrywania dźwięku przy użyciu API ALSA
123Group: Libraries
124Requires: %{name}-libs = %{version}-%{release}
125Requires: alsa-lib >= 1.1.7
126
127%description spa-module-alsa
128PipeWire SPA plugin to play and record audio with ALSA API.
129
130%description spa-module-alsa -l pl.UTF-8
131Wtyczka PipeWire SPA do odtwarzania i nagrywania dźwięku przy użyciu
132API ALSA.
133
134%package spa-module-bluez
135Summary: PipeWire SPA plugin to play audio with Bluetooth A2DP
136Summary(pl.UTF-8): Wtyczka PipeWire SPA do odtwarzania dźwięku przez Bluetooth A2DP
137Group: Libraries
138Requires: %{name}-libs = %{version}-%{release}
139Requires: bluez-libs >= 4.101
140
141%description spa-module-bluez
142PipeWire SPA plugin to play audio with Bluetooth A2DP.
143
144%description spa-module-bluez -l pl.UTF-8
145Wtyczka PipeWire SPA do odtwarzania dźwięku przez Bluetooth A2DP.
146
147%package spa-module-ffmpeg
148Summary: PipeWire SPA plugin to decode/encode with FFmpeg library
149Summary(pl.UTF-8): Wtyczka PipeWire SPA do kodowania/dekodowania przy użyciu biblioteki FFmpeg
150Group: Libraries
151Requires: %{name}-libs = %{version}-%{release}
152
153%description spa-module-ffmpeg
154PipeWire SPA plugin to decode/encode with FFmpeg library.
155
156%description spa-module-ffmpeg -l pl.UTF-8
157Wtyczka PipeWire SPA do kodowania/dekodowania przy użyciu biblioteki
158FFmpeg.
159
160%package spa-module-jack
161Summary: PipeWire SPA plugin to play and record audio with JACK API
162Summary(pl.UTF-8): Wtyczka PipeWire SPA do odtwarzania i nagrywania dźwięku przy użyciu API JACK
163Group: Libraries
164Requires: %{name}-libs = %{version}-%{release}
165Requires: jack-audio-connection-kit >= 1.9.10
166
167%description spa-module-jack
168PipeWire SPA plugin to play and record audio with JACK API.
169
170%description spa-module-jack -l pl.UTF-8
171Wtyczka PipeWire SPA do odtwarzania i nagrywania dźwięku przy użyciu
172API JACK.
173
174%package spa-module-vulkan
175Summary: PipeWire SPA plugin to generate video frames using Vulkan
176Summary(pl.UTF-8): Wtyczka PipeWire SPA do generowania ramek obrazu przy użyciu Vulkana
177Group: Libraries
178Requires: %{name}-libs = %{version}-%{release}
179Requires: Vulkan-Loader >= 1.1.69
180
181%description spa-module-vulkan
182PipeWire SPA plugin to generate video frames using Vulkan.
183
184%description spa-module-vulkan -l pl.UTF-8
185Wtyczka PipeWire SPA do generowania ramek obrazu przy użyciu Vulkana.
186
187%package jack
188Summary: PipeWire JACK sound system integration
189Summary(pl.UTF-8): Integracja PipeWire z systemem dźwięku JACK
190Group: Libraries
191Requires: %{name} = %{version}-%{release}
192Requires: jack-audio-connection-kit >= 1.9.10
193
194%description jack
195PipeWire JACK sound system integration.
196
197%description jack -l pl.UTF-8
198Integracja PipeWire z systemem dźwięku JACK.
199
200%package pulseaudio
201Summary: PipeWire PulseAudio sound system integration
202Summary(pl.UTF-8): Integracja PipeWire z systemem dźwięku PulseAudio
203Group: Libraries
204Requires: %{name} = %{version}-%{release}
205
206%description pulseaudio
207PipeWire PulseAudio sound system integration.
208
209%description pulseaudio -l pl.UTF-8
210Integracja PipeWire z systemem dźwięku PulseAudio.
211
212%package -n alsa-plugin-pipewire
213Summary: PipeWire integration plugin for ALSA sound system
214Summary(pl.UTF-8): Wtyczka systemu dźwięku ALSA integrująca z PipeWire
215Group: Libraries
216Requires: %{name} = %{version}-%{release}
217Requires: alsa-lib >= 1.1.7
218
219%description -n alsa-plugin-pipewire
220PipeWire integration plugin for ALSA sound system.
221
222%description -n alsa-plugin-pipewire -l pl.UTF-8
223Wtyczka systemu dźwięku ALSA integrująca z PipeWire.
224
225%package -n gstreamer-pipewire
226Summary: PipeWire video sink and source plugin for GStreamer
227Summary(pl.UTF-8): Wtyczka udostępniająca źródło i cel obrazu PipeWire dla GStreamera
228Group: Libraries
229Requires: %{name} = %{version}-%{release}
230Requires: glib2 >= 1:2.32.0
231Requires: gstreamer >= 1.10
232Requires: gstreamer-plugins-base >= 1.10
233
234%description -n gstreamer-pipewire
235PipeWire video sink and source plugin for GStreamer.
236
237%description -n gstreamer-pipewire -l pl.UTF-8
238Wtyczka udostępniająca źródło i cel obrazu PipeWire dla GStreamera.
239
240%prep
241%setup -q
242%patch0 -p1
243
244%build
245%meson build \
246 -Daudiotestsrc=enabled \
247 -Dbluez5-backend-hsphfpd=enabled \
248 %{?with_apidocs:-Ddocs=enabled} \
249 %{?with_ffmpeg:-Dffmpeg=enabled} \
250 %{!?with_gstreamer:-Dgstreamer=disabled} \
251 %{!?with_jack:-Djack=disabled} \
252 -Dman=enabled \
253 %{!?with_jack:-Dpipewire-jack=disabled} \
254 -Dvideotestsrc=enabled \
255 -Dvolume=enabled
256# TODO: -Devl=enabled
257
258%ninja_build -C build
259
260%install
261rm -rf $RPM_BUILD_ROOT
262
263%ninja_install -C build
264
265install -d $RPM_BUILD_ROOT%{_datadir}/alsa/alsa.conf.d
266cp -p pipewire-alsa/conf/*.conf $RPM_BUILD_ROOT%{_datadir}/alsa/alsa.conf.d
267
268# packaged as %doc in -apidocs
269%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pipewire/html
270
271%find_lang %{name}
272
273%clean
274rm -rf $RPM_BUILD_ROOT
275
276%post libs -p /sbin/ldconfig
277%postun libs -p /sbin/ldconfig
278
279%files -f %{name}.lang
280%defattr(644,root,root,755)
281%attr(755,root,root) %{_bindir}/pipewire
282%attr(755,root,root) %{_bindir}/pipewire-media-session
283%attr(755,root,root) %{_bindir}/pw-cat
284%attr(755,root,root) %{_bindir}/pw-cli
285%attr(755,root,root) %{_bindir}/pw-dot
286%attr(755,root,root) %{_bindir}/pw-dump
287%attr(755,root,root) %{_bindir}/pw-metadata
288%attr(755,root,root) %{_bindir}/pw-mididump
289%attr(755,root,root) %{_bindir}/pw-midiplay
290%attr(755,root,root) %{_bindir}/pw-midirecord
291%attr(755,root,root) %{_bindir}/pw-mon
292%attr(755,root,root) %{_bindir}/pw-play
293%attr(755,root,root) %{_bindir}/pw-profiler
294%attr(755,root,root) %{_bindir}/pw-record
295%attr(755,root,root) %{_bindir}/pw-reserve
296%attr(755,root,root) %{_bindir}/pw-top
297%attr(755,root,root) %{_bindir}/spa-inspect
298%attr(755,root,root) %{_bindir}/spa-json-dump
299%attr(755,root,root) %{_bindir}/spa-monitor
300# R: libsndfile
301%attr(755,root,root) %{_bindir}/spa-resample
302%dir %{_sysconfdir}/pipewire
303%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/client.conf
304%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/client-rt.conf
305%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/pipewire.conf
306%dir %{_sysconfdir}/pipewire/media-session.d
307%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/media-session.d/media-session.conf
308%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/media-session.d/v4l2-monitor.conf
309%{systemduserunitdir}/pipewire.service
310%{systemduserunitdir}/pipewire.socket
311%{systemduserunitdir}/pipewire-media-session.service
312%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-access.so
313%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-adapter.so
314%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-client-device.so
315%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-client-node.so
316%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-link-factory.so
317%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-metadata.so
318%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-portal.so
319%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-profiler.so
320# R: systemd-libs
321%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-protocol-native.so
322# R: dbus-libs systemd-libs
323%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-protocol-pulse.so
324# R: dbus-libs
325%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-rtkit.so
326%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-session-manager.so
327%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-spa-device.so
328%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-spa-device-factory.so
329%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-spa-node.so
330%attr(755,root,root) %{_libdir}/pipewire-0.3/libpipewire-module-spa-node-factory.so
331%dir %{_libdir}/spa-0.2/audioconvert
332%attr(755,root,root) %{_libdir}/spa-0.2/audioconvert/libspa-audioconvert.so
333%dir %{_libdir}/spa-0.2/audiomixer
334%attr(755,root,root) %{_libdir}/spa-0.2/audiomixer/libspa-audiomixer.so
335%dir %{_libdir}/spa-0.2/audiotestsrc
336%attr(755,root,root) %{_libdir}/spa-0.2/audiotestsrc/libspa-audiotestsrc.so
337%dir %{_libdir}/spa-0.2/control
338%attr(755,root,root) %{_libdir}/spa-0.2/control/libspa-control.so
339%dir %{_libdir}/spa-0.2/support
340# R: dbus-libs
341%attr(755,root,root) %{_libdir}/spa-0.2/support/libspa-dbus.so
342# R: systemd-libs
343%attr(755,root,root) %{_libdir}/spa-0.2/support/libspa-journal.so
344%attr(755,root,root) %{_libdir}/spa-0.2/support/libspa-support.so
345%dir %{_libdir}/spa-0.2/v4l2
346# R: udev-libs
347%attr(755,root,root) %{_libdir}/spa-0.2/v4l2/libspa-v4l2.so
348%dir %{_libdir}/spa-0.2/videoconvert
349%attr(755,root,root) %{_libdir}/spa-0.2/videoconvert/libspa-videoconvert.so
350%dir %{_libdir}/spa-0.2/videotestsrc
351%attr(755,root,root) %{_libdir}/spa-0.2/videotestsrc/libspa-videotestsrc.so
352%dir %{_libdir}/spa-0.2/volume
353%attr(755,root,root) %{_libdir}/spa-0.2/volume/libspa-volume.so
354%{_mandir}/man1/pipewire.1*
355%{_mandir}/man1/pw-cat.1*
356%{_mandir}/man1/pw-cli.1*
357%{_mandir}/man1/pw-dot.1*
358%{_mandir}/man1/pw-metadata.1*
359%{_mandir}/man1/pw-mididump.1*
360%{_mandir}/man1/pw-mon.1*
361%{_mandir}/man1/pw-profiler.1*
362%{_mandir}/man5/pipewire.conf.5*
363
364%files libs
365%defattr(644,root,root,755)
366%doc COPYING LICENSE NEWS README.md
367%attr(755,root,root) %{_libdir}/libpipewire-0.3.so.*.*.*
368%attr(755,root,root) %ghost %{_libdir}/libpipewire-0.3.so.0
369%dir %{_libdir}/pipewire-0.3
370%dir %{_libdir}/spa-0.2
371
372%files devel
373%defattr(644,root,root,755)
374%attr(755,root,root) %{_libdir}/libpipewire-0.3.so
375%{_includedir}/pipewire-0.3
376%{_includedir}/spa-0.2
377%{_pkgconfigdir}/libpipewire-0.3.pc
378%{_pkgconfigdir}/libspa-0.2.pc
379
380%if %{with apidocs}
381%files apidocs
382%defattr(644,root,root,755)
383%doc doc/design.txt build/doc/html/*
384%endif
385
386%files spa-module-alsa
387%defattr(644,root,root,755)
388%attr(755,root,root) %{_bindir}/spa-acp-tool
389%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/media-session.d/alsa-monitor.conf
390%dir %{_libdir}/spa-0.2/alsa
391# R: alsa-lib udev-libs
392%attr(755,root,root) %{_libdir}/spa-0.2/alsa/libspa-alsa.so
393%{_datadir}/alsa-card-profile
394
395%files spa-module-bluez
396%defattr(644,root,root,755)
397%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/media-session.d/bluez-monitor.conf
398%dir %{_libdir}/spa-0.2/bluez5
399# R: dbus-libs sbc
400%attr(755,root,root) %{_libdir}/spa-0.2/bluez5/libspa-bluez5.so
401
402%files spa-module-ffmpeg
403%defattr(644,root,root,755)
404%dir %{_libdir}/spa-0.2/ffmpeg
405# R: ffmpeg-libs
406%attr(755,root,root) %{_libdir}/spa-0.2/ffmpeg/libspa-ffmpeg.so
407
408%if %{with jack}
409%files spa-module-jack
410%defattr(644,root,root,755)
411%dir %{_libdir}/spa-0.2/jack
412# R: jack-audio-connection-kit-libs
413%attr(755,root,root) %{_libdir}/spa-0.2/jack/libspa-jack.so
414%endif
415
416%files spa-module-vulkan
417%defattr(644,root,root,755)
418%dir %{_libdir}/spa-0.2/vulkan
419# R: Vulkan-Loader
420%attr(755,root,root) %{_libdir}/spa-0.2/vulkan/libspa-vulkan.so
421
422%if %{with jack}
423%files jack
424%defattr(644,root,root,755)
425%attr(755,root,root) %{_bindir}/pw-jack
426%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/jack.conf
427%{_sysconfdir}/pipewire/media-session.d/with-jack
428%dir %attr(755,root,root) %{_libdir}/pipewire-0.3/jack
429%attr(755,root,root) %{_libdir}/pipewire-0.3/jack/libjack.so*
430%attr(755,root,root) %{_libdir}/pipewire-0.3/jack/libjacknet.so*
431%attr(755,root,root) %{_libdir}/pipewire-0.3/jack/libjackserver.so*
432%endif
433
434%files pulseaudio
435%defattr(644,root,root,755)
436%attr(755,root,root) %{_bindir}/pipewire-pulse
437%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pipewire/pipewire-pulse.conf
438%{_sysconfdir}/pipewire/media-session.d/with-pulseaudio
439%{systemduserunitdir}/pipewire-pulse.service
440%{systemduserunitdir}/pipewire-pulse.socket
441
442%files -n alsa-plugin-pipewire
443%defattr(644,root,root,755)
444%attr(755,root,root) %{_libdir}/alsa-lib/libasound_module_ctl_pipewire.so
445%attr(755,root,root) %{_libdir}/alsa-lib/libasound_module_pcm_pipewire.so
446%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf
447%{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf
448/lib/udev/rules.d/90-pipewire-alsa.rules
449
450%if %{with gstreamer}
451%files -n gstreamer-pipewire
452%defattr(644,root,root,755)
453%attr(755,root,root) %{_libdir}/gstreamer-1.0/libgstpipewire.so
454%endif
This page took 0.062876 seconds and 4 git commands to generate.