]>
Commit | Line | Data |
---|---|---|
911dd57a JB |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without apidocs # Doxygen based API documentation | |
4 | %bcond_without gstreamer # GStreamer module | |
5 | # | |
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 | |
8 | Name: pipewire | |
9 | Version: 0.2.6 | |
10 | Release: 1 | |
11 | License: LGPL v2+ | |
12 | Group: Libraries | |
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/ | |
18 | # for tests only | |
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} | |
28 | %if %{with gstreamer} | |
29 | BuildRequires: gstreamer-devel >= 1.0 | |
30 | BuildRequires: gstreamer-plugins-base-devel >= 1.0 | |
31 | %endif | |
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) | |
42 | ||
43 | %description | |
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 | |
48 | clients. | |
49 | - Accessing sources of video for consumption. | |
50 | - Generating graphs for audio and video processing. | |
51 | ||
52 | Nodes in the graph can be implemented as separate processes, | |
53 | communicating with sockets and exchanging multimedia content using fd | |
54 | passing. | |
55 | ||
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 | |
61 | ich do klientów | |
62 | - dostęp do źródeł obrazu do pobierania | |
63 | - generowanie grafów do przetwarzania dźwięku i obrazu | |
64 | ||
65 | %package libs | |
66 | Summary: PipeWire shared library | |
67 | Summary(pl.UTF-8): Biblioteka współdzielona PipeWire | |
68 | Group: Libraries | |
69 | ||
70 | %description libs | |
71 | PipeWire shared library. | |
72 | ||
73 | %description libs -l pl.UTF-8 | |
74 | Biblioteka współdzielona PipeWire. | |
75 | ||
76 | %package devel | |
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} | |
81 | ||
82 | %description devel | |
83 | Header files for PipeWire library and Simple Plugin API. | |
84 | ||
85 | %description devel -l pl.UTF-8 | |
86 | Pliki nagłówkowe biblioteki PipeWire oraz Simple Plugin API. | |
87 | ||
88 | %package apidocs | |
89 | Summary: API documentation for PipeWire library | |
90 | Summary(pl.UTF-8): Dokumentacja API biblioteki PipeWire | |
91 | Group: Documentation | |
92 | %if "%{_rpmversion}" >= "5" | |
93 | BuildArch: noarch | |
94 | %endif | |
95 | ||
96 | %description apidocs | |
97 | API documentation for PipeWire library. | |
98 | ||
99 | %description apidocs -l pl.UTF-8 | |
100 | Dokumentacja API biblioteki PipeWire. | |
101 | ||
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 | |
105 | Group: Libraries | |
106 | Requires: %{name}-libs = %{version}-%{release} | |
107 | ||
108 | %description spa-module-alsa | |
109 | PipeWire SPA plugin to play and record audio with ALSA API. | |
110 | ||
111 | %description spa-module-alsa -l pl.UTF-8 | |
112 | Wtyczka PipeWire SPA do odtwarzania i nagrywania dźwięku przy użyciu | |
113 | API ALSA. | |
114 | ||
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 | |
118 | Group: Libraries | |
119 | Requires: %{name}-libs = %{version}-%{release} | |
120 | ||
121 | %description spa-module-bluez | |
122 | PipeWire SPA plugin to play audio with Bluetooth A2DP. | |
123 | ||
124 | %description spa-module-bluez -l pl.UTF-8 | |
125 | Wtyczka PipeWire SPA do odtwarzania dźwięku przez Bluetooth A2DP. | |
126 | ||
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 | |
130 | Group: Libraries | |
131 | Requires: %{name}-libs = %{version}-%{release} | |
132 | ||
133 | %description spa-module-ffmpeg | |
134 | PipeWire SPA plugin to decode/encode with FFmpeg library. | |
135 | ||
136 | %description spa-module-ffmpeg -l pl.UTF-8 | |
137 | Wtyczka PipeWire SPA do kodowania/dekodowania przy użyciu biblioteki | |
138 | FFmpeg. | |
139 | ||
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 | |
143 | Group: Libraries | |
144 | Requires: %{name} = %{version}-%{release} | |
145 | Requires: gstreamer >= 1.0 | |
146 | Requires: gstreamer-plugins-base >= 1.0 | |
147 | ||
148 | %description -n gstreamer-pipewire | |
149 | PipeWire video sink and source plugin for GStreamer. | |
150 | ||
151 | %description -n gstreamer-pipewire -l pl.UTF-8 | |
152 | Wtyczka udostępniająca źródło i cel obrazu PipeWire dla GStreamera. | |
153 | ||
154 | %prep | |
155 | %setup -q | |
156 | ||
157 | %build | |
158 | %meson build \ | |
159 | %{?with_apidocs:-Ddocs=true} \ | |
160 | %{!?with_gstreamer:-Dgstreamer=false} \ | |
161 | -Dman=true | |
162 | ||
163 | %ninja_build -C build | |
164 | ||
165 | %install | |
166 | rm -rf $RPM_BUILD_ROOT | |
167 | ||
168 | %ninja_install -C build | |
169 | ||
170 | # packaged as %doc in -apidocs | |
171 | %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pipewire/html | |
172 | ||
173 | %clean | |
174 | rm -rf $RPM_BUILD_ROOT | |
175 | ||
176 | %post libs -p /sbin/ldconfig | |
177 | %postun libs -p /sbin/ldconfig | |
178 | ||
179 | %files | |
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 | |
195 | # R: dbus-libs | |
196 | %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-portal.so | |
197 | # R: systemd-libs | |
198 | %attr(755,root,root) %{_libdir}/pipewire-0.2/libpipewire-module-protocol-native.so | |
199 | # R: dbus-libs | |
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 | |
210 | # R: dbus-libs | |
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 | |
216 | # R: udev-libs | |
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* | |
226 | ||
227 | %files libs | |
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 | |
233 | %dir %{_libdir}/spa | |
234 | ||
235 | %files devel | |
236 | %defattr(644,root,root,755) | |
237 | %attr(755,root,root) %{_libdir}/libpipewire-0.2.so | |
238 | %{_includedir}/pipewire | |
239 | %{_includedir}/spa | |
240 | %{_pkgconfigdir}/libpipewire-0.2.pc | |
241 | %{_pkgconfigdir}/libspa-0.1.pc | |
242 | ||
243 | %if %{with apidocs} | |
244 | %files apidocs | |
245 | %defattr(644,root,root,755) | |
246 | %doc doc/design.txt build/doc/html/* | |
247 | %endif | |
248 | ||
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 | |
254 | ||
255 | %files spa-module-bluez | |
256 | %defattr(644,root,root,755) | |
257 | %dir %{_libdir}/spa/bluez5 | |
258 | # R: dbus-libs sbc | |
259 | %attr(755,root,root) %{_libdir}/spa/bluez5/libspa-bluez5.so | |
260 | ||
261 | %files spa-module-ffmpeg | |
262 | %defattr(644,root,root,755) | |
263 | %dir %{_libdir}/spa/ffmpeg | |
264 | # R: ffmpeg-libs | |
265 | %attr(755,root,root) %{_libdir}/spa/ffmpeg/libspa-ffmpeg.so | |
266 | ||
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 | |
271 | %endif |