1 # TODO: suid/capabilities for ptp-helper? (-Dptp-helper-permissions=capabilities or -Dptp-helper-setuid-user=/-Dptp-helper-setuid-group=)
4 %bcond_without apidocs # hotdoc based API documentation
5 %bcond_without ptp_helper # ptp-helper (requires rust)
9 Summary: GStreamer Streaming-media framework runtime
10 Summary(pl.UTF-8): GStreamer - biblioteki środowiska do obróbki strumieni
16 Source0: https://gstreamer.freedesktop.org/src/gstreamer/%{name}-%{version}.tar.xz
17 # Source0-md5: 058ed34c39c7db77b9031be0eba6bdde
18 Patch0: %{name}-inspect-rpm-format.patch
19 URL: https://gstreamer.freedesktop.org/
20 BuildRequires: bash-completion-devel >= 1:2.0
21 BuildRequires: bison >= 1.875
22 BuildRequires: docbook-dtd412-xml
23 BuildRequires: elfutils-devel
24 BuildRequires: flex >= 2.5.31
25 BuildRequires: gettext-tools >= 0.17
26 BuildRequires: glib2-devel >= 1:2.64.0
27 %if %(locale -a | grep -q '^C\.UTF-8$'; echo $?)
28 BuildRequires: glibc-localedb-all
30 BuildRequires: glibc-misc
31 BuildRequires: gobject-introspection-devel >= 1.31.1
32 %{?with_apidocs:BuildRequires: hotdoc >= 0.11.0}
33 BuildRequires: libcap-devel
34 %ifarch %{ix86} %{x8664} x32 %{arm} hppa ia64 mips ppc ppc64 sh
35 BuildRequires: libunwind-devel
37 BuildRequires: meson >= 1.1
38 BuildRequires: ninja >= 1.5
39 BuildRequires: perl-base
40 BuildRequires: pkgconfig >= 1:0.9.0
41 BuildRequires: python3 >= 1:3.2
42 %{?with_ptp_helper:BuildRequires: rust >= 1.48}
43 BuildRequires: rpm-build >= 4.6
44 BuildRequires: rpmbuild(macros) >= 1.736
45 BuildRequires: sed >= 4.0
46 BuildRequires: tar >= 1:1.22
48 Requires: glib2 >= 1:2.64.0
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 %define gstlibdir %{_libdir}/gstreamer-%{gstmver}
52 %define gstlibexecdir %{_libexecdir}/gstreamer-%{gstmver}
53 %define gstincludedir %{_includedir}/gstreamer-%{gstmver}
56 GStreamer is a streaming-media framework, based on graphs of filters
57 which operate on media data. Applications using this library can do
58 anything from real-time sound processing to playing videos, and just
59 about anything else media-related. Its plugin-based architecture means
60 that new data types or processing capabilities can be added simply by
61 installing new plugins.
63 %description -l pl.UTF-8
64 GStreamer to środowisko obróbki danych strumieniowych, bazujące na
65 grafie filtrów operujących na danych medialnych. Aplikacje używające
66 tej biblioteki mogą robić wszystko od przetwarzania dźwięku w czasie
67 rzeczywistym, do odtwarzania filmów i czegokolwiek innego związanego z
68 mediami. Architektura bazująca na wtyczkach pozwala na łatwe dodawanie
69 nowych typów danych lub możliwości obróbki.
72 Summary: Include files for GStreamer streaming-media framework
73 Summary(pl.UTF-8): Pliki nagłówkowe do środowiska obróbki strumieni GStreamer
74 Group: Development/Libraries
75 Requires: %{name} = %{version}-%{release}
76 Requires: glib2-devel >= 1:2.64.0
77 Obsoletes: gstreamer-plugins-bad-devel < 0.10.10
78 Conflicts: gstreamer-plugins-bad-devel < 1.14
81 This package contains the includes files necessary to develop
82 applications and plugins for GStreamer.
84 %description devel -l pl.UTF-8
85 Ten pakiet zawiera pliki nagłówkowe potrzebne do rozwijania aplikacji
86 i wtyczek do GStreamera.
89 Summary: GStreamer static libraries
90 Summary(pl.UTF-8): Biblioteki statyczne GStreamer
91 Group: Development/Libraries
92 Requires: %{name}-devel = %{version}-%{release}
95 Static versions of GStreamer libraries.
97 %description static -l pl.UTF-8
98 Statyczne wersje bibliotek GStreamer.
101 Summary: GStreamer API documentation
102 Summary(pl.UTF-8): Dokumentacja API GStreamera
107 GStreamer API documentation.
109 %description apidocs -l pl.UTF-8
110 Dokumentacja API GStreamera.
113 Summary: GStreamer pretty printers for GDB
114 Summary(pl.UTF-8): Funkcje wypisujące dane GStreamer dla GDB
115 Group: Development/Debuggers
116 Requires: %{name} = %{version}-%{release}
120 This package contains Python scripts for GDB pretty printing of the
123 %description gdb -l pl.UTF-8
124 Ten pakiet zawiera skrypty Pythona dla GDB służące do ładnego
125 wypisywania typów GStreamer.
127 %package -n bash-completion-gstreamer
128 Summary: Bash completion for GStreamer utilities
129 Summary(pl.UTF-8): Bashowe uzupełnianie parametrów narzędzi GStreamera
130 Group: Applications/Shells
131 Requires: %{name} = %{version}-%{release}
132 Requires: bash-completion >= 1:2.0
134 %description -n bash-completion-gstreamer
135 Bash completion for GStreamer utilities: gst-inspect and gst-launch.
137 %description -n bash-completion-gstreamer -l pl.UTF-8
138 Bashowe uzupełnianie parametrów narzędzi GStreamera: gst-inspect oraz
145 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' docs/gst-plugins-doc-cache-generator.py
149 %{?with_apidocs:-Ddoc=enabled} \
150 -Dexamples=disabled \
153 %ninja_build -C build
157 for component in base check controller gstreamer net ; do
158 LC_ALL=C.UTF-8 hotdoc run --conf-file ${component}-doc.json
160 for component in coreelements coretracers ; do
161 LC_ALL=C.UTF-8 hotdoc run --conf-file plugin-${component}.json
166 rm -rf $RPM_BUILD_ROOT
168 %ninja_install -C build
170 %find_lang %{name} --all-name --with-gnome
172 %py3_comp $RPM_BUILD_ROOT%{_datadir}/gstreamer-1.0/gdb
173 %py3_ocomp $RPM_BUILD_ROOT%{_datadir}/gstreamer-1.0/gdb
175 # no static modules - shut up check files
176 %{__rm} $RPM_BUILD_ROOT%{gstlibdir}/lib*.a
179 install -d $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver}
180 cp -pr build/docs/{base,check,controller,gstreamer,net}-doc $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver}
181 cp -pr build/docs/plugin-{coreelements,coretracers} $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver}
185 rm -rf $RPM_BUILD_ROOT
187 %post -p /sbin/ldconfig
188 %postun -p /sbin/ldconfig
190 %files -f %{name}.lang
191 %defattr(644,root,root,755)
192 %doc AUTHORS ChangeLog MAINTAINERS NEWS README.md RELEASE
193 %attr(755,root,root) %{_bindir}/gst-inspect-1.0
194 %attr(755,root,root) %{_bindir}/gst-launch-1.0
195 %attr(755,root,root) %{_bindir}/gst-stats-1.0
196 %attr(755,root,root) %{_bindir}/gst-typefind-1.0
197 %attr(755,root,root) %{_libdir}/libgstbase-%{gstmver}.so.*.*.*
198 %attr(755,root,root) %ghost %{_libdir}/libgstbase-%{gstmver}.so.0
199 %attr(755,root,root) %{_libdir}/libgstcheck-%{gstmver}.so.*.*.*
200 %attr(755,root,root) %ghost %{_libdir}/libgstcheck-%{gstmver}.so.0
201 %attr(755,root,root) %{_libdir}/libgstcontroller-%{gstmver}.so.*.*.*
202 %attr(755,root,root) %ghost %{_libdir}/libgstcontroller-%{gstmver}.so.0
203 %attr(755,root,root) %{_libdir}/libgstnet-%{gstmver}.so.*.*.*
204 %attr(755,root,root) %ghost %{_libdir}/libgstnet-%{gstmver}.so.0
205 %attr(755,root,root) %{_libdir}/libgstreamer-%{gstmver}.so.*.*.*
206 %attr(755,root,root) %ghost %{_libdir}/libgstreamer-%{gstmver}.so.0
207 %if "%{_libexecdir}" != "%{_libdir}"
208 %dir %{gstlibexecdir}
210 %attr(755,root,root) %{gstlibexecdir}/gst-plugin-scanner
211 %if %{with ptp_helper}
212 # %caps(cap_net_bind_service,cap_net_admin,cap_sys_nice=ep) ?
213 %attr(755,root,root) %{gstlibexecdir}/gst-ptp-helper
214 %attr(755,root,root) %{gstlibexecdir}/gst-ptp-helper-test
217 %attr(755,root,root) %{gstlibdir}/libgstcoreelements.so
218 %attr(755,root,root) %{gstlibdir}/libgstcoretracers.so
219 # common for some plugins
220 %dir %{_datadir}/gstreamer-1.0
221 %{_mandir}/man1/gst-inspect-1.0.1*
222 %{_mandir}/man1/gst-launch-1.0.1*
223 %{_mandir}/man1/gst-stats-1.0.1*
224 %{_mandir}/man1/gst-typefind-1.0.1*
225 %{_libdir}/girepository-1.0/Gst-%{gstmver}.typelib
226 %{_libdir}/girepository-1.0/GstBase-%{gstmver}.typelib
227 %{_libdir}/girepository-1.0/GstCheck-%{gstmver}.typelib
228 %{_libdir}/girepository-1.0/GstController-%{gstmver}.typelib
229 %{_libdir}/girepository-1.0/GstNet-%{gstmver}.typelib
232 %defattr(644,root,root,755)
234 %attr(755,root,root) %{gstlibexecdir}/gst-hotdoc-plugins-scanner
235 %attr(755,root,root) %{gstlibexecdir}/gst-plugins-doc-cache-generator
237 %attr(755,root,root) %{_libdir}/libgstbase-%{gstmver}.so
238 %attr(755,root,root) %{_libdir}/libgstcheck-%{gstmver}.so
239 %attr(755,root,root) %{_libdir}/libgstcontroller-%{gstmver}.so
240 %attr(755,root,root) %{_libdir}/libgstnet-%{gstmver}.so
241 %attr(755,root,root) %{_libdir}/libgstreamer-%{gstmver}.so
242 %dir %{gstlibdir}/pkgconfig
243 %{gstlibdir}/pkgconfig/gstcoreelements.pc
244 %{gstlibdir}/pkgconfig/gstcoretracers.pc
245 %dir %{gstincludedir}
247 %{_pkgconfigdir}/gstreamer-%{gstmver}.pc
248 %{_pkgconfigdir}/gstreamer-base-%{gstmver}.pc
249 %{_pkgconfigdir}/gstreamer-check-%{gstmver}.pc
250 %{_pkgconfigdir}/gstreamer-controller-%{gstmver}.pc
251 %{_pkgconfigdir}/gstreamer-net-%{gstmver}.pc
252 %{_aclocaldir}/gst-element-check-%{gstmver}.m4
253 %{_datadir}/gir-1.0/Gst-%{gstmver}.gir
254 %{_datadir}/gir-1.0/GstBase-%{gstmver}.gir
255 %{_datadir}/gir-1.0/GstCheck-%{gstmver}.gir
256 %{_datadir}/gir-1.0/GstController-%{gstmver}.gir
257 %{_datadir}/gir-1.0/GstNet-%{gstmver}.gir
260 %defattr(644,root,root,755)
261 %{_libdir}/libgstbase-%{gstmver}.a
262 %{_libdir}/libgstcheck-%{gstmver}.a
263 %{_libdir}/libgstcontroller-%{gstmver}.a
264 %{_libdir}/libgstnet-%{gstmver}.a
265 %{_libdir}/libgstreamer-%{gstmver}.a
269 %defattr(644,root,root,755)
270 %dir %{_docdir}/gstreamer-%{gstmver}
271 %{_docdir}/gstreamer-%{gstmver}/base-doc
272 %{_docdir}/gstreamer-%{gstmver}/check-doc
273 %{_docdir}/gstreamer-%{gstmver}/controller-doc
274 %{_docdir}/gstreamer-%{gstmver}/gstreamer-doc
275 %{_docdir}/gstreamer-%{gstmver}/net-doc
276 %{_docdir}/gstreamer-%{gstmver}/plugin-coreelements
277 %{_docdir}/gstreamer-%{gstmver}/plugin-coretracers
281 %defattr(644,root,root,755)
282 %{_datadir}/gdb/auto-load%{_libdir}/libgstreamer-%{gstmver}.so.*.*.*-gdb.py
283 %{_datadir}/gstreamer-1.0/gdb
285 %files -n bash-completion-gstreamer
286 %defattr(644,root,root,755)
287 %{bash_compdir}/gst-inspect-1.0
288 %{bash_compdir}/gst-launch-1.0
289 %attr(755,root,root) %{gstlibexecdir}/gst-completion-helper
290 %attr(755,root,root) %{_datadir}/bash-completion/helpers/gst