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