gstreamer1.0/gstreamer1.0.spec
2017-01-31 19:56:14 +02:00

240 lines
7.8 KiB
RPMSpec

%define oname gstreamer
%define api 1.0
%define name %{oname}%{api}
%define vname %{oname}10
%define major 0
%define libname %mklibname %{oname} %{api} %{major}
%define girname %mklibname gst-gir %{api}
%define devname %mklibname %{name} -d
%bcond_with docs
Summary: GStreamer Streaming-media framework runtime
Name: %{oname}%{api}
Version: 1.10.3
Release: 1
License: LGPLv2+
Group: Sound
Url: http://gstreamer.freedesktop.org/
Source0: http://gstreamer.freedesktop.org/src/gstreamer/%{oname}-%{version}.tar.xz
Source1: gstreamer.prov
Patch0: gstreamer-inspect-rpm-format.patch
BuildRequires: chrpath
BuildRequires: bison
BuildRequires: flex
%ifarch %{ix86}
BuildRequires: nasm
%endif
%if %{with docs}
BuildRequires: docbook-dtd412-xml
BuildRequires: docbook-dtd42-xml
BuildRequires: ghostscript
BuildRequires: gtk-doc >= 0.7
BuildRequires: python-pyxml
BuildRequires: transfig
%endif
BuildRequires: gettext-devel
BuildRequires: pkgconfig(check)
BuildRequires: pkgconfig(gio-2.0) >= 2.32.0
BuildRequires: pkgconfig(glib-2.0) >= 2.32.0
BuildRequires: pkgconfig(gmodule-no-export-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gthread-2.0)
BuildRequires: pkgconfig(libxml-2.0) >= 2.4.9
BuildRequires: pkgconfig(popt)
%ifnarch %{arm} %{mips}
BuildRequires: pkgconfig(valgrind)
%endif
%description
GStreamer is a streaming-media framework, based on graphs of filters which
operate on media data. Applications using this library can do anything
from real-time sound processing to playing videos, and just about anything
else media-related. Its plugin-based architecture means that new data
types or processing capabilities can be added simply by installing new
plugins.
#----------------------------------------------------------------------------
%package tools
Summary: GStreamer Streaming-media framework runtime
Group: Sound
Provides: %{vname}-tools = %{EVRD}
%description tools
GStreamer is a streaming-media framework, based on graphs of filters which
operate on media data. Applications using this library can do anything
from real-time sound processing to playing videos, and just about anything
else media-related. Its plugin-based architecture means that new data
types or processing capabilities can be added simply by installing new
plugins.
%files tools -f %{oname}-%{api}.lang
%doc AUTHORS COPYING README NEWS
%dir %{_var}/cache/%{oname}-%{api}
%{_bindir}/gst-inspect-%{api}
%{_bindir}/gst-launch-%{api}
%{_bindir}/gst-stats-%{api}
%{_bindir}/gst-typefind-%{api}
%{_mandir}/man1/gst-inspect-%{api}.1*
%{_mandir}/man1/gst-launch-%{api}.1*
%{_mandir}/man1/gst-typefind-%{api}.1*
%{_datadir}/bash-completion/completions/gst-inspect-1.0
%{_datadir}/bash-completion/completions/gst-launch-1.0
%{_datadir}/bash-completion/helpers/gst
%{_datadir}/bash-completion/helpers/gst-completion-helper-1.0
%{_libdir}/gstreamer-1.0/gst-ptp-helper
#----------------------------------------------------------------------------
%package -n %{libname}
Summary: Libraries for GStreamer streaming-media framework
Group: System/Libraries
Requires: %{name}-tools
Provides: libgstreamer%{api} = %{EVRD}
%description -n %{libname}
GStreamer is a streaming-media framework, based on graphs of filters which
operate on media data. Applications using this library can do anything
from real-time sound processing to playing videos, and just about anything
else media-related. Its plugin-based architecture means that new data
types or processing capabilities can be added simply by installing new
plugins.
This package contains the libraries.
%files -n %{libname}
%dir %{_libdir}/%{oname}-%{api}
%{_libdir}/libgstbase-%{api}.so.%{major}*
%{_libdir}/libgstcheck-%{api}.so.%{major}*
%{_libdir}/libgstreamer-%{api}.so.%{major}*
%{_libdir}/libgstnet-%{api}.so.%{major}*
%{_libdir}/libgstcontroller-%{api}.so.%{major}*
%{_libdir}/%{oname}-%{api}/gst-plugin-scanner
%{_libdir}/%{oname}-%{api}/libgstcoreelements.so
%{_libdir}/%{oname}-%{api}/libgstcoretracers.so
#----------------------------------------------------------------------------
%package -n %{girname}
Summary: GObject Introspection interface libraries for %{name}
Group: System/Libraries
Requires: %{libname} = %{version}-%{release}
%description -n %{girname}
GObject Introspection interface libraries for %{name}.
%files -n %{girname}
%{_libdir}/girepository-1.0/Gst-%{api}.typelib
%{_libdir}/girepository-1.0/GstBase-%{api}.typelib
%{_libdir}/girepository-1.0/GstCheck-%{api}.typelib
%{_libdir}/girepository-1.0/GstController-%{api}.typelib
%{_libdir}/girepository-1.0/GstNet-%{api}.typelib
#----------------------------------------------------------------------------
%package -n %{devname}
Summary: Libraries and include files for GStreamer streaming-media framework
Group: Development/C
Requires: %{libname} = %{version}-%{release}
Requires: %{name}-tools = %{version}-%{release}
Provides: gstreamer%{api}-devel = %{version}-%{release}
%description -n %{devname}
GStreamer is a streaming-media framework, based on graphs of filters which
operate on media data. Applications using this library can do anything
from real-time sound processing to playing videos, and just about anything
else media-related. Its plugin-based architecture means that new data
types or processing capabilities can be added simply by installing new
plugins.
This package contains the libraries and includes files necessary to develop
applications and plugins for GStreamer.
%files -n %{devname}
%doc ChangeLog
%if %{with docs}
%doc installed-docs/*
%endif
%{_prefix}/lib/rpm/%{_vendor}/%{name}.prov
%dir %{_includedir}/%{oname}-%{api}
%dir %{_includedir}/%{oname}-%{api}/gst
%{_includedir}/%{oname}-%{api}/gst/*.h
%dir %{_includedir}/%{oname}-%{api}/gst/base/
%{_includedir}/%{oname}-%{api}/gst/base/*.h
%{_includedir}/%{oname}-%{api}/gst/check/
%dir %{_includedir}/%{oname}-%{api}/gst/controller/
%{_includedir}/%{oname}-%{api}/gst/controller/*.h
%{_includedir}/%{oname}-%{api}/gst/net/
%{_libdir}/libgstbase-%{api}.so
%{_libdir}/libgstcheck-%{api}.so
%{_libdir}/libgstreamer-%{api}.so
%{_libdir}/libgstnet-%{api}.so
%{_libdir}/libgstcontroller-%{api}.so
%{_datadir}/aclocal/gst-element-check-%{api}.m4
%{_libdir}/pkgconfig/gstreamer-%{api}.pc
%{_libdir}/pkgconfig/gstreamer-base-%{api}.pc
%{_libdir}/pkgconfig/gstreamer-check-%{api}.pc
%{_libdir}/pkgconfig/gstreamer-net-%{api}.pc
%{_libdir}/pkgconfig/gstreamer-controller-%{api}.pc
## we specify the API docs as regular files since %docs doesn't fail when
# files aren't found anymore for RPM >= 4
# we list all of the files we really need to trap incomplete doc builds
# then we catch the rest with *, you can safely ignore the errors from this
## gstreamer API
%{_datadir}/gtk-doc/html/*
%{_datadir}/gir-1.0/Gst-%{api}.gir
%{_datadir}/gir-1.0/GstBase-%{api}.gir
%{_datadir}/gir-1.0/GstCheck-%{api}.gir
%{_datadir}/gir-1.0/GstController-%{api}.gir
%{_datadir}/gir-1.0/GstNet-%{api}.gir
#----------------------------------------------------------------------------
%prep
%setup -q -n %{oname}-%{version}
%apply_patches
%build
%configure2_5x \
--enable-debug \
--disable-static \
--disable-dependency-tracking \
--with-package-name='%{_vendor} %{name} package' \
--with-package-origin='http://bugs.%{_vendor}.org/' \
--disable-tests \
--disable-examples \
--disable-rpath \
%if %{with docs}
--enable-docbook \
--enable-gtk-doc \
%else
--disable-docbook \
--disable-gtk-doc \
%endif
%ifarch %{mips}
--disable-valgrind \
%endif
--with-html-dir=%{_datadir}/gtk-doc/html
%make
%install
%makeinstall_std
mkdir -p %{buildroot}%{_var}/cache/%{oname}-%{api}
%if %{with docs}
mv %{buildroot}%{_datadir}/doc/%{oname}-%{api}/ installed-docs
%endif
#gw really remove rpath for rpmlint
chrpath -d %{buildroot}{%{_bindir}/gst-{inspect,launch,typefind}-1.0,%{_libdir}/{*.so,%{oname}-%{api}/*.so}}
# Add the provides script
install -m0755 -D %{SOURCE1} %{buildroot}%{_prefix}/lib/rpm/%{_vendor}/%{name}.prov
%find_lang %{oname}-%{api}