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