- new
[packages/pipewire.git] / pipewire.spec
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
This page took 0.23951 seconds and 3 git commands to generate.