#
# Conditional build:
- %bcond_without gpl # GPL licensed components
- %bcond_without vdpau # build libav without VDPAU support
- %bcond_with system_ffmpeg # system ffmpeg (note: upstream does not accept bugs with system ffmpeg)
+ %bcond_without apidocs # API documentation
%define gstname gst-libav
%define gstmver 1.0
- %define gst_ver 1.16.3
- %define gstpb_ver 1.16.3
-%define gst_ver 1.18.5
-%define gstpb_ver 1.18.5
++%define gst_ver 1.19.3
++%define gstpb_ver 1.19.3
%define ffmpeg_ver 4.1.3
Summary: GStreamer Streaming-media framework plug-in using libav
Summary(pl.UTF-8): Wtyczka do środowiska obróbki strumieni GStreamer używająca libav
Name: gstreamer-libav
- Version: 1.16.3
- Release: 2
- %if %{with gpl}
- License: GPL v2+
- %else
- License: LGPL v2+
- %endif
-Version: 1.18.5
++Version: 1.19.3
+ Release: 1
+ License: LGPL v2.1+
Group: Libraries
Source0: https://gstreamer.freedesktop.org/src/gst-libav/%{gstname}-%{version}.tar.xz
- # Source0-md5: d08fb5429f102d5a3f1eca3dee2a0add
- Patch0: link.patch
-# Source0-md5: 9a49ce948d4e400b6e1b073d0e034080
++# Source0-md5: e81d6e257521841c92dc8cc4e2d2f270
URL: https://gstreamer.freedesktop.org/
- BuildRequires: autoconf >= 2.69
- BuildRequires: automake >= 1:1.14
- BuildRequires: glib2-devel >= 1:2.40.0
+ # libavfilter >= 7.16.100, libavformat >= 58.12.100, libavcodec >= 58.18.100, libavutil >= 56.14.100
+ BuildRequires: ffmpeg-devel >= %{ffmpeg_ver}
BuildRequires: gstreamer-devel >= %{gst_ver}
BuildRequires: gstreamer-plugins-base-devel >= %{gstpb_ver}
- BuildRequires: gtk-doc >= 1.12
- BuildRequires: libtool >= 2:2.2.6
- BuildRequires: orc-devel >= 0.4.16
+ %{?with_apidocs:BuildRequires: hotdoc >= 0.11.0}
+ BuildRequires: meson >= 0.48.0
+ BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig >= 1:0.9.0
BuildRequires: python >= 2.1
BuildRequires: rpm-build >= 4.6
- BuildRequires: rpmbuild(macros) >= 1.470
+ BuildRequires: rpmbuild(macros) >= 1.736
BuildRequires: tar >= 1:1.22
BuildRequires: xz
- %if %{with system_ffmpeg}
- # libavformat,libavcodec >= 57,libavutil,libswscale needed
- BuildRequires: ffmpeg-devel >= %{ffmpeg_ver}
- %else
- # libav dependencies
- BuildRequires: bzip2-devel
- BuildRequires: libvdpau-devel
- BuildRequires: xorg-lib-libX11-devel
- %if %{with vdpau}
- BuildRequires: xorg-lib-libXvMC-devel
- %endif
- BuildRequires: xz-devel
- BuildRequires: zlib-devel
- %ifarch %{ix86} %{x8664}
- BuildRequires: yasm
- %endif
- %endif
- Requires: glib2 >= 1:2.40.0
+ Requires: ffmpeg-libs >= %{ffmpeg_ver}
Requires: gstreamer >= %{gst_ver}
Requires: gstreamer-plugins-base >= %{gstpb_ver}
- %if %{with system_ffmpeg}
- Requires: ffmpeg-libs >= %{ffmpeg_ver}
- %endif
- Requires: orc >= 0.4.16
Obsoletes: gstreamer-ffmpeg < 1
Obsoletes: gstreamer-real < 1
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary: API documentation for GStreamer libav plugin
Summary(pl.UTF-8): Dokumentacja API do wtyczki GStreamera libav
Group: Documentation
- Requires: gtk-doc-common
BuildArch: noarch
%description apidocs
%prep
%setup -q -n %{gstname}-%{version}
- %patch0 -p1
%build
- %{__libtoolize}
- %{__aclocal} -I m4 -I common/m4
- %{__autoconf}
- %{__autoheader}
- %{__automake}
-
- LIBAV_OPTS="%{?with_vdpau:--enable-vdpau}"
- %ifarch x32
- LIBAV_OPTS="$LIBAV_OPTS --disable-asm"
+ %meson build \
+ --default-library=shared \
+ %{!?with_apidocs:-Ddoc=false}
+
+ %ninja_build -C build
+
+ %if %{with apidocs}
+ cd build/docs
+ LC_ALL=C.UTF-8 hotdoc run --conf-file libav-doc.json
%endif
- %configure \
- CPPFLAGS="%{rpmcppflags}" \
- %{?with_system_ffmpeg:--with-system-libav} \
- --with-libav-extra-configure="$LIBAV_OPTS" \
- %{?with_gpl:--enable-gpl} \
- --disable-silent-rules \
- --disable-static \
- --with-html-dir=%{_gtkdocdir}
-
- # V=1 is for libav (--disable-silent-rules affects only main gst-libav sources)
- %{__make} \
- V=1
%install
rm -rf $RPM_BUILD_ROOT
- %{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
+ %ninja_install -C build
- %{__rm} $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{gstmver}/*.la
+ %if %{with apidocs}
+ install -d $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver}
+ cp -pr build/docs/libav-doc $RPM_BUILD_ROOT%{_docdir}/gstreamer-%{gstmver}
+ %endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
- %doc AUTHORS ChangeLog NEWS README TODO
+ %doc AUTHORS ChangeLog NEWS README.md
%attr(755,root,root) %{_libdir}/gstreamer-%{gstmver}/libgstlibav.so
- # disabled in (upstream) 1.2.0 until someone fixes it
- #%attr(755,root,root) %{_libdir}/gstreamer-%{gstmver}/libgstavscale.so
%files apidocs
%defattr(644,root,root,755)
- %{_gtkdocdir}/gst-libav-plugins-1.0
+ %{_docdir}/gstreamer-%{gstmver}/libav-doc