X-Git-Url: https://git.pld-linux.org/?p=packages%2Fgstreamer.git;a=blobdiff_plain;f=gstreamer.spec;h=7e024732307c1b7a73a98e932aa022ea296a0e0d;hp=1628948fb61552f497eaf63b47722d15acb102d7;hb=HEAD;hpb=50c24c538b438d6576b4a55928eebeb40e470b6b diff --git a/gstreamer.spec b/gstreamer.spec index 1628948..3d7b4c4 100644 --- a/gstreamer.spec +++ b/gstreamer.spec @@ -1,44 +1,59 @@ +# TODO: suid/capabilities for ptp-helper? (-Dptp-helper-permissions=capabilities or -Dptp-helper-setuid-user=/-Dptp-helper-setuid-group=) +# +# Conditional build: +%bcond_without apidocs # hotdoc based API documentation +%bcond_without ptp_helper # ptp-helper (requires rust) +%bcond_without static_libs # static libraries + +%define gstmver 1.0 + Summary: GStreamer Streaming-media framework runtime Summary(pl.UTF-8): GStreamer - biblioteki środowiska do obróbki strumieni Name: gstreamer -Version: 0.10.23 -Release: 2 +Version: 1.24.2 +Release: 1 License: LGPL v2+ Group: Libraries -Source0: http://gstreamer.freedesktop.org/src/gstreamer/%{name}-%{version}.tar.bz2 -# Source0-md5: f7b2e300d2d85756407ec529424ab237 -Source1: %{name}-rpmdeps.sh -Patch0: %{name}-without_ps_pdf.patch -Patch1: %{name}-eps.patch -Patch2: %{name}-inspect-rpm-format.patch -URL: http://gstreamer.net/ -BuildRequires: autoconf >= 2.52 -BuildRequires: automake >= 1.6 -BuildRequires: bison >= 1.35 -BuildRequires: check >= 0.9.3-2 -BuildRequires: docbook-utils >= 0.6.10 -BuildRequires: flex -BuildRequires: gettext-devel >= 0.11.5 -BuildRequires: glib2-devel >= 1:2.12.0 -BuildRequires: gtk-doc >= 1.6 -BuildRequires: libtool >= 1.4 -BuildRequires: libxml2-devel >= 1:2.6.26 -BuildRequires: nasm +Source0: https://gstreamer.freedesktop.org/src/gstreamer/%{name}-%{version}.tar.xz +# Source0-md5: fd0faca3054dd579768f81288be822d4 +Patch0: %{name}-inspect-rpm-format.patch +URL: https://gstreamer.freedesktop.org/ +BuildRequires: automake +BuildRequires: bash-completion-devel >= 1:2.0 +BuildRequires: bison >= 1.875 +BuildRequires: docbook-dtd412-xml +BuildRequires: elfutils-devel +BuildRequires: flex >= 2.5.31 +BuildRequires: gettext-tools >= 0.17 +BuildRequires: glib2-devel >= 1:2.64.0 +%if %(locale -a | grep -q '^C\.UTF-8$'; echo $?) +BuildRequires: glibc-localedb-all +%endif +BuildRequires: glibc-misc +BuildRequires: gobject-introspection-devel >= 1.31.1 +%{?with_apidocs:BuildRequires: hotdoc >= 0.11.0} +BuildRequires: libcap-devel +%ifarch %{ix86} %{x8664} x32 %{arm} hppa ia64 mips ppc ppc64 sh +BuildRequires: libunwind-devel +%endif +BuildRequires: meson >= 1.1 +BuildRequires: ninja >= 1.5 BuildRequires: perl-base BuildRequires: pkgconfig >= 1:0.9.0 -BuildRequires: popt-devel >= 1.6.3 -# not sure it is a right place for this BR -BuildRequires: python-PyXML -BuildRequires: transfig -BuildRequires: xmlto -Requires: glib2 >= 1:2.12.0 +BuildRequires: python3 >= 1:3.2 +BuildRequires: python3-modules >= 1:3.2 +%{?with_ptp_helper:BuildRequires: rust >= 1.48} +BuildRequires: rpm-build >= 4.6 +BuildRequires: rpmbuild(macros) >= 1.736 +BuildRequires: sed >= 4.0 +BuildRequires: tar >= 1:1.22 +BuildRequires: xz +Requires: glib2 >= 1:2.64.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define vmajor %(echo %{version} | cut -d. -f1,2) -%define _gstlibdir %{_libdir}/gstreamer-%{vmajor} -%define _gstincludedir %{_includedir}/gstreamer-%{vmajor} - -%define rpmlibdir /usr/lib/rpm +%define gstlibdir %{_libdir}/gstreamer-%{gstmver} +%define gstlibexecdir %{_libexecdir}/gstreamer-%{gstmver} +%define gstincludedir %{_includedir}/gstreamer-%{gstmver} %description GStreamer is a streaming-media framework, based on graphs of filters @@ -61,10 +76,9 @@ Summary: Include files for GStreamer streaming-media framework Summary(pl.UTF-8): Pliki nagłówkowe do środowiska obróbki strumieni GStreamer Group: Development/Libraries Requires: %{name} = %{version}-%{release} -Requires: glib2-devel >= 1:2.12.0 -Requires: libxml2-devel >= 1:2.6.26 -Requires: popt-devel >= 1.6.3 +Requires: glib2-devel >= 1:2.64.0 Obsoletes: gstreamer-plugins-bad-devel < 0.10.10 +Conflicts: gstreamer-plugins-bad-devel < 1.14 %description devel This package contains the includes files necessary to develop @@ -88,57 +102,91 @@ Statyczne wersje bibliotek GStreamer. %package apidocs Summary: GStreamer API documentation -Summary(pl.UTF-8): Dokumentacja API Gstreamera +Summary(pl.UTF-8): Dokumentacja API GStreamera Group: Documentation -Requires: gtk-doc-common +BuildArch: noarch %description apidocs GStreamer API documentation. %description apidocs -l pl.UTF-8 -Dokumentacja API Gstreamera. +Dokumentacja API GStreamera. + +%package gdb +Summary: GStreamer pretty printers for GDB +Summary(pl.UTF-8): Funkcje wypisujące dane GStreamer dla GDB +Group: Development/Debuggers +Requires: %{name} = %{version}-%{release} +Requires: gdb + +%description gdb +This package contains Python scripts for GDB pretty printing of the +GStreamer types. + +%description gdb -l pl.UTF-8 +Ten pakiet zawiera skrypty Pythona dla GDB służące do ładnego +wypisywania typów GStreamer. + +%package -n bash-completion-gstreamer +Summary: Bash completion for GStreamer utilities +Summary(pl.UTF-8): Bashowe uzupełnianie parametrów narzędzi GStreamera +Group: Applications/Shells +Requires: %{name} = %{version}-%{release} +Requires: bash-completion >= 1:2.0 + +%description -n bash-completion-gstreamer +Bash completion for GStreamer utilities: gst-inspect and gst-launch. + +%description -n bash-completion-gstreamer -l pl.UTF-8 +Bashowe uzupełnianie parametrów narzędzi GStreamera: gst-inspect oraz +gst-launch. %prep %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 + +%{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' docs/gst-plugins-doc-cache-generator.py %build -# po/Makefile.in.in is modified -#{__gettextize} -%{__libtoolize} -%{__aclocal} -I common/m4 -%{__autoconf} -%{__autoheader} -%{__automake} -%configure \ - --disable-examples \ - --disable-pspdf \ - --disable-tests \ - --enable-docbook \ - --enable-gtk-doc \ - --with-html-dir=%{_gtkdocdir} - -%{__make} +%meson build \ + %{!?with_static_libs:--default-library=shared} \ + %{?with_apidocs:-Ddoc=enabled} \ + -Dexamples=disabled \ + -Dtests=disabled + +%ninja_build -C build + +%if %{with apidocs} +cd build/docs +for component in base check controller gstreamer net ; do + LC_ALL=C.UTF-8 hotdoc run --conf-file ${component}-doc.json +done +for component in coreelements coretracers ; do + LC_ALL=C.UTF-8 hotdoc run --conf-file plugin-${component}.json +done +%endif %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_docdir}/%{name}-devel-%{version},%{rpmlibdir}} -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT +%ninja_install -C build -install %{SOURCE1} $RPM_BUILD_ROOT%{rpmlibdir}/gstreamerdeps.sh +%find_lang %{name} --all-name --with-gnome -mv $RPM_BUILD_ROOT%{_docdir}/%{name}-{%{vmajor},%{version}} -mv $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/{manual,pwg} \ - $RPM_BUILD_ROOT%{_docdir}/%{name}-devel-%{version} +%py3_comp $RPM_BUILD_ROOT%{_datadir}/gstreamer-1.0/gdb +%py3_ocomp $RPM_BUILD_ROOT%{_datadir}/gstreamer-1.0/gdb -%find_lang %{name} --all-name --with-gnome +# no static modules - shut up check files +%if %{with static_libs} +%{__rm} $RPM_BUILD_ROOT%{gstlibdir}/lib*.a +%{__rm} $RPM_BUILD_ROOT%{gstlibdir}/pkgconfig/*.pc +%endif -# no static modules and *.la for them - shut up check files -rm -f $RPM_BUILD_ROOT%{_gstlibdir}/lib*.{la,a} +%if %{with apidocs} +install -d $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver} +cp -pr build/docs/{base,check,controller,gstreamer,net}-doc $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver} +cp -pr build/docs/plugin-{coreelements,coretracers} $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver} +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -148,61 +196,100 @@ rm -rf $RPM_BUILD_ROOT %files -f %{name}.lang %defattr(644,root,root,755) -%doc AUTHORS ChangeLog NEWS README TODO -%attr(755,root,root) %{_bindir}/gst-* -%attr(755,root,root) %{_libdir}/libgstbase-0.10.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libgstbase-0.10.so.0 -%attr(755,root,root) %{_libdir}/libgstcheck-0.10.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libgstcheck-0.10.so.0 -%attr(755,root,root) %{_libdir}/libgstcontroller-0.10.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libgstcontroller-0.10.so.0 -%attr(755,root,root) %{_libdir}/libgstdataprotocol-0.10.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libgstdataprotocol-0.10.so.0 -%attr(755,root,root) %{_libdir}/libgstnet-0.10.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libgstnet-0.10.so.0 -%attr(755,root,root) %{_libdir}/libgstreamer-0.10.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libgstreamer-0.10.so.0 -%dir %{_gstlibdir} -%attr(755,root,root) %{_gstlibdir}/libgstcoreelements.so -%attr(755,root,root) %{_gstlibdir}/libgstcoreindexers.so -%{_mandir}/man1/gst-*.1* +%doc AUTHORS ChangeLog MAINTAINERS NEWS README.md RELEASE +%attr(755,root,root) %{_bindir}/gst-inspect-1.0 +%attr(755,root,root) %{_bindir}/gst-launch-1.0 +%attr(755,root,root) %{_bindir}/gst-stats-1.0 +%attr(755,root,root) %{_bindir}/gst-typefind-1.0 +%attr(755,root,root) %{_libdir}/libgstbase-%{gstmver}.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libgstbase-%{gstmver}.so.0 +%attr(755,root,root) %{_libdir}/libgstcheck-%{gstmver}.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libgstcheck-%{gstmver}.so.0 +%attr(755,root,root) %{_libdir}/libgstcontroller-%{gstmver}.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libgstcontroller-%{gstmver}.so.0 +%attr(755,root,root) %{_libdir}/libgstnet-%{gstmver}.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libgstnet-%{gstmver}.so.0 +%attr(755,root,root) %{_libdir}/libgstreamer-%{gstmver}.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libgstreamer-%{gstmver}.so.0 +%if "%{_libexecdir}" != "%{_libdir}" +%dir %{gstlibexecdir} +%endif +%attr(755,root,root) %{gstlibexecdir}/gst-plugin-scanner +%if %{with ptp_helper} +# %caps(cap_net_bind_service,cap_net_admin,cap_sys_nice=ep) ? +%attr(755,root,root) %{gstlibexecdir}/gst-ptp-helper +%endif +%dir %{gstlibdir} +%attr(755,root,root) %{gstlibdir}/libgstcoreelements.so +%attr(755,root,root) %{gstlibdir}/libgstcoretracers.so +# common for some plugins +%dir %{_datadir}/gstreamer-1.0 +%{_mandir}/man1/gst-inspect-1.0.1* +%{_mandir}/man1/gst-launch-1.0.1* +%{_mandir}/man1/gst-stats-1.0.1* +%{_mandir}/man1/gst-typefind-1.0.1* +%{_libdir}/girepository-1.0/Gst-%{gstmver}.typelib +%{_libdir}/girepository-1.0/GstBase-%{gstmver}.typelib +%{_libdir}/girepository-1.0/GstCheck-%{gstmver}.typelib +%{_libdir}/girepository-1.0/GstController-%{gstmver}.typelib +%{_libdir}/girepository-1.0/GstNet-%{gstmver}.typelib %files devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libgstbase-0.10.so -%attr(755,root,root) %{_libdir}/libgstcheck-0.10.so -%attr(755,root,root) %{_libdir}/libgstcontroller-0.10.so -%attr(755,root,root) %{_libdir}/libgstdataprotocol-0.10.so -%attr(755,root,root) %{_libdir}/libgstnet-0.10.so -%attr(755,root,root) %{_libdir}/libgstreamer-0.10.so -%{_libdir}/libgstbase-0.10.la -%{_libdir}/libgstcheck-0.10.la -%{_libdir}/libgstcontroller-0.10.la -%{_libdir}/libgstdataprotocol-0.10.la -%{_libdir}/libgstnet-0.10.la -%{_libdir}/libgstreamer-0.10.la -%{_docdir}/%{name}-devel-%{version} -%{_gstincludedir} -%{_pkgconfigdir}/gstreamer-0.10.pc -%{_pkgconfigdir}/gstreamer-base-0.10.pc -%{_pkgconfigdir}/gstreamer-check-0.10.pc -%{_pkgconfigdir}/gstreamer-controller-0.10.pc -%{_pkgconfigdir}/gstreamer-dataprotocol-0.10.pc -%{_pkgconfigdir}/gstreamer-net-0.10.pc -%{_aclocaldir}/gst-element-check-0.10.m4 -%attr(755,root,root) %{rpmlibdir}/gstreamerdeps.sh +%if %{with apidocs} +%attr(755,root,root) %{gstlibexecdir}/gst-hotdoc-plugins-scanner +%attr(755,root,root) %{gstlibexecdir}/gst-plugins-doc-cache-generator +%endif +%attr(755,root,root) %{_libdir}/libgstbase-%{gstmver}.so +%attr(755,root,root) %{_libdir}/libgstcheck-%{gstmver}.so +%attr(755,root,root) %{_libdir}/libgstcontroller-%{gstmver}.so +%attr(755,root,root) %{_libdir}/libgstnet-%{gstmver}.so +%attr(755,root,root) %{_libdir}/libgstreamer-%{gstmver}.so +%dir %{gstincludedir} +%{gstincludedir}/gst +%{_pkgconfigdir}/gstreamer-%{gstmver}.pc +%{_pkgconfigdir}/gstreamer-base-%{gstmver}.pc +%{_pkgconfigdir}/gstreamer-check-%{gstmver}.pc +%{_pkgconfigdir}/gstreamer-controller-%{gstmver}.pc +%{_pkgconfigdir}/gstreamer-net-%{gstmver}.pc +%{_aclocaldir}/gst-element-check-%{gstmver}.m4 +%{_datadir}/gir-1.0/Gst-%{gstmver}.gir +%{_datadir}/gir-1.0/GstBase-%{gstmver}.gir +%{_datadir}/gir-1.0/GstCheck-%{gstmver}.gir +%{_datadir}/gir-1.0/GstController-%{gstmver}.gir +%{_datadir}/gir-1.0/GstNet-%{gstmver}.gir +%if %{with static_libs} %files static %defattr(644,root,root,755) -%{_libdir}/libgstbase-0.10.a -%{_libdir}/libgstcheck-0.10.a -%{_libdir}/libgstcontroller-0.10.a -%{_libdir}/libgstdataprotocol-0.10.a -%{_libdir}/libgstnet-0.10.a -%{_libdir}/libgstreamer-0.10.a +%{_libdir}/libgstbase-%{gstmver}.a +%{_libdir}/libgstcheck-%{gstmver}.a +%{_libdir}/libgstcontroller-%{gstmver}.a +%{_libdir}/libgstnet-%{gstmver}.a +%{_libdir}/libgstreamer-%{gstmver}.a +%endif +%if %{with apidocs} %files apidocs %defattr(644,root,root,755) -%{_gtkdocdir}/gstreamer-0.10 -%{_gtkdocdir}/gstreamer-libs-0.10 -%{_gtkdocdir}/gstreamer-plugins-0.10 +%dir %{_docdir}/gstreamer-%{gstmver} +%{_docdir}/gstreamer-%{gstmver}/base-doc +%{_docdir}/gstreamer-%{gstmver}/check-doc +%{_docdir}/gstreamer-%{gstmver}/controller-doc +%{_docdir}/gstreamer-%{gstmver}/gstreamer-doc +%{_docdir}/gstreamer-%{gstmver}/net-doc +%{_docdir}/gstreamer-%{gstmver}/plugin-coreelements +%{_docdir}/gstreamer-%{gstmver}/plugin-coretracers +%endif + +%files gdb +%defattr(644,root,root,755) +%{_datadir}/gdb/auto-load%{_libdir}/libgstreamer-%{gstmver}.so.*.*.*-gdb.py +%{_datadir}/gstreamer-1.0/gdb + +%files -n bash-completion-gstreamer +%defattr(644,root,root,755) +%{bash_compdir}/gst-inspect-1.0 +%{bash_compdir}/gst-launch-1.0 +%attr(755,root,root) %{gstlibexecdir}/gst-completion-helper +%attr(755,root,root) %{_datadir}/bash-completion/helpers/gst