gstreamer1.0/gstreamer1.0.spec

258 lines
8.4 KiB
RPMSpec
Raw Normal View History

2012-10-02 18:40:33 +04:00
%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
2012-10-02 18:40:33 +04:00
%bcond_with docs
2012-10-02 18:40:33 +04:00
Summary: GStreamer Streaming-media framework runtime
Name: %{oname}%{api}
2024-12-24 15:29:50 +00:00
Version: 1.24.10
Release: 1
License: LGPLv2+
Group: Sound
2024-12-24 15:45:54 +00:00
URL: https://gstreamer.freedesktop.org
Source0: %{url}/src/gstreamer/%{oname}-%{version}.tar.xz
Source1: gstreamer.prov
Patch0: gstreamer-inspect-rpm-format.patch
BuildRequires: chrpath
BuildRequires: bison
BuildRequires: flex
2024-12-26 13:46:20 +00:00
BuildRequires: meson
BuildRequires: python38-devel
BuildRequires: pkgconfig(bash-completion)
BuildRequires: pkgconfig(libunwind)
BuildRequires: pkgconfig(libdw)
BuildRequires: pkgconfig(gmp)
BuildRequires: pkgconfig(gsl)
%ifarch %{ix86}
BuildRequires: nasm
2012-10-02 18:40:33 +04:00
%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)
2024-06-11 22:38:56 +00:00
BuildRequires: pkgconfig(python3)
%ifnarch %{arm} %{mips}
BuildRequires: pkgconfig(valgrind)
2012-10-02 18:40:33 +04:00
%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.
#----------------------------------------------------------------------------
2012-10-02 18:40:33 +04:00
%package tools
Summary: GStreamer Streaming-media framework runtime
Group: Sound
Provides: %{vname}-tools = %{EVRD}
2012-10-02 18:40:33 +04:00
%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
2024-12-26 13:46:20 +00:00
%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*
2017-06-27 15:17:11 +02:00
%{_mandir}/man1/gst-stats-%{api}.1*
%{_datadir}/bash-completion/completions/gst-inspect-1.0
%{_datadir}/bash-completion/completions/gst-launch-1.0
%{_datadir}/bash-completion/helpers/gst
2024-12-26 13:46:20 +00:00
#{_libdir}/gstreamer-1.0/gst-ptp-helper
2017-06-27 15:17:11 +02:00
%{_libdir}/gstreamer-1.0/gst-completion-helper
2024-12-26 13:46:20 +00:00
#----------------------------------------------------------------------------
2012-10-02 18:40:33 +04:00
%package -n %{libname}
Summary: Libraries for GStreamer streaming-media framework
Group: System/Libraries
Requires: %{name}-tools
Provides: libgstreamer%{api} = %{EVRD}
2012-10-02 18:40:33 +04:00
%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}
2012-10-02 18:40:33 +04:00
Summary: GObject Introspection interface libraries for %{name}
Group: System/Libraries
Requires: %{libname} = %{version}-%{release}
%description -n %{girname}
2012-10-02 18:40:33 +04:00
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}
2012-10-02 18:40:33 +04:00
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}
2012-10-02 18:40:33 +04:00
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}
2012-10-02 18:40:33 +04:00
%doc ChangeLog
%if %{with docs}
2012-10-02 18:40:33 +04:00
%doc installed-docs/*
%endif
2012-12-04 16:08:04 +04:00
%{_prefix}/lib/rpm/%{_vendor}/%{name}.prov
2012-10-02 18:40:33 +04:00
%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
2024-12-26 13:46:20 +00:00
#{_datadir}/gtk-doc/html/*
2012-10-02 18:40:33 +04:00
%{_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
2024-12-26 13:46:20 +00:00
%{_bindir}/gst-tester-%{api}
%{_datadir}/gdb/auto-load/usr/lib64/libgstreamer-%{api}.so.0.2410.0-gdb.py
%{_datadir}/%{oname}-%{api}/gdb/glib_gobject_helper.py
%{_datadir}/%{oname}-%{api}/gdb/gst_gdb.py
%{_libdir}/%{oname}-%{api}/gst-hotdoc-plugins-scanner
%{_libdir}/%{oname}-%{api}/gst-plugins-doc-cache-generator
#----------------------------------------------------------------------------
%prep
2024-12-26 13:46:20 +00:00
%setup -qn %{oname}-%{version}
%build
2024-12-26 13:46:20 +00:00
#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
%meson
%meson_build
#make
%install
2024-12-26 13:46:20 +00:00
%meson_install
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}