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