File gstreamer-0_10-plugins-base.spec of Package gstreamer-0_10-plugins-base

#
# spec file for package gstreamer-0_10-plugins-base
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define build_v4l 0%{?suse_version} <= 1140

Name:           gstreamer-0_10-plugins-base
%define _name gst-plugins-base
Version:        0.10.36
Release:        0
%define gst_branch 0.10
Url:            http://gstreamer.freedesktop.org/
Summary:        GStreamer Streaming-Media Framework Plug-Ins
License:        GPL-2.0-or-later AND LGPL-2.1-or-later
Group:          Productivity/Multimedia/Other
Source:         http://gstreamer.freedesktop.org/src/gst-plugins-base/%{_name}-%{version}.tar.xz
Source2:        baselibs.conf
# PATCH-FIX-UPSTREAM gstreamer-0_10-plugins-base-missing-return-value.patch bgo#670548 vuntz@opensuse.org -- Fix missing return value
Patch0:         gstreamer-0_10-plugins-base-missing-return-value.patch
# PATCH-FIX-UPSTREAM gstreamer-0_10-plugins-base-0.10.36-kde_302652.patch kde#302652 reddwarf@opensuse.org -- Fix problem in Amarok when changing between streams. Gstreamer doesn't seem to care about the 0.10.x branch any more.
Patch1:         gstreamer-0_10-plugins-base-0.10.36-kde_302652.patch
# PATCH-FIX-UPSTREAM gstreamer-0_10-plugins-base-gcc5-fix-on-i586.patch zaitor@opensuse.org -- Fix build with gcc5 on i586, EMMINTRIN is defined but not usable without SSE. Patch taken from fedora.
Patch2:         gstreamer-0_10-plugins-base-gcc5-fix-on-i586.patch
# PATCH-FIX-UPSTREAM gstreamer-0_10-plugins-base-gtk-1.25.patch dimstar@opensuse.org -- Fix build with gtk-doc 1.25. index.sgml is an internal file and must not be messed with (and with gtk-doc 1.25 it is no longer created)
Patch3:         gstreamer-0_10-plugins-base-gtk-1.25.patch
# PATCH-FIX-UPSTREAM gstreamer-0_10-plugins-base-gcc6-fixes.patch boo#985251 dimstar@opensuse.org -- Fix header files so they can be used with gcc 6
Patch4:         gstreamer-0_10-plugins-base-gcc6-fixes.patch
# PATCH-FIX-UPSTREAM gstreamer-bounds-check-ico-detection.patch bsc#1013669 mgorse@suse.com -- bounds check windows ico detection (CVE-2016-9811).
Patch5:         gstreamer-bounds-check-ico-detection.patch
# PATCH-FIX-UPSTREAM 0001-riff-media-Check-for-valid-channels-rate-before-using-the-values.patch bsc#1024076 alarrosa@suse.com -- Fix floating point exception in gst_riff_create_audio_caps CVE-2017-5837
Patch6:         0001-riff-media-Check-for-valid-channels-rate-before-using-the-values.patch
# PATCH-FIX-UPSTREAM 0001-riff-media-Dont-divide-block-align-by-zero-channels.patch bsc#1024079 alarrosa@suse.com -- Fix floating point exception in gst_riff_create_audio_caps (follow-up) CVE-2017-5844
Patch7:         0001-riff-media-Dont-divide-block-align-by-zero-channels.patch
# PATCh-FIX-UPSTREAM CVE-2019-9928.patch boo#1133375 mgorse@suse.com -- fix a heap overflow in the rtsp connection parser.
Patch8:         CVE-2019-9928.patch
BuildRequires:  alsa-devel
BuildRequires:  cdparanoia-devel
BuildRequires:  check-devel
BuildRequires:  glib2-devel >= 2.24
BuildRequires:  gnome-vfs2-devel
%if 0%{?suse_version} >= 1120
BuildRequires:  gobject-introspection-devel >= 0.9.12
%endif
BuildRequires:  gstreamer-0_10-devel >= 0.10.36
# BuildRequires:  gtk-doc
%if 0%{?suse_version} >= 1210
BuildRequires:  gtk3-devel >= 3.0.0
%else
# We have no gtk, but we still want to build the pango, ximagesink and
# xvimagesink plugins
BuildRequires:  cairo-devel
BuildRequires:  pango-devel >= 1.16.0
%endif
BuildRequires:  iso-codes-devel
BuildRequires:  krb5
%if 0%{?suse_version} > 1210
# used by libgstximagesink.so
BuildRequires:  libICE-devel
BuildRequires:  libSM-devel
%endif
%if 0%{?suse_version} > 1110
BuildRequires:  libgudev-1_0-devel
%endif
BuildRequires:  libtheora-devel
%if %{build_v4l}
BuildRequires:  libv4l-devel
%endif
BuildRequires:  libtool
BuildRequires:  libvisual-devel
BuildRequires:  libvorbis-devel
BuildRequires:  orc
BuildRequires:  python-devel
BuildRequires:  sgml-skel
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
%ifarch %ix86 ppc x86_64
BuildRequires:  valgrind-devel
%endif
%if 0%{?suse_version} <= 1210
BuildRequires:  xz
%endif
BuildRequires:  zlib-devel
%if 0%{?suse_version} >= 1220
BuildRequires:  pkgconfig(xv)
%endif
PreReq:         filesystem
# Core modules may depend on new enough libraries:
Requires:       libgstinterfaces-0_10-0 >= %{version}
%define gstreamer010_plugins_base_req %(xzgrep --text "^GST[_A-Z]*_REQ" %{S:0} | sort -u | sed 's/GST_REQ=/gstreamer-0_10 >= /')
Requires:       %gstreamer010_plugins_base_req
Recommends:     %{name}-lang
Recommends:     PackageKit-gstreamer-plugin
Supplements:    gstreamer-0_10
# For update from <= 11.1 (gstapp):
Conflicts:      gstreamer-0_10-plugins-bad < 0.10.10
# Name up to 10.3:
Provides:       gstreamer010-plugins-base = %{version}
Obsoletes:      gstreamer010-plugins-base < %{version}
# Generic name, never used in SuSE:
Provides:       gst-plugins-base = %{version}
# Nanes of splitted subpackages (<=10.2 and ==SLE10):
Provides:       gstreamer010-plugins-base-oil = %{version}-%{release}
Provides:       gstreamer010-plugins-base-visual = %{version}-%{release}
Obsoletes:      gstreamer010-plugins-base-oil < %{version}-%{release}
Obsoletes:      gstreamer010-plugins-base-visual < %{version}-%{release}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.

%package -n gstreamer-0_10-plugin-gnomevfs
Summary:        GStreamer Streaming-Media Framework Plug-Ins -- gnome-vfs plugin
# We want to have base modules installed:
Group:          Productivity/Multimedia/Other
Requires:       %{name}
Supplements:    packageand(%{name}:gnome-vfs2)

%description -n gstreamer-0_10-plugin-gnomevfs
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.

%package -n libgstinterfaces-0_10-0
# This is a library package bundle, which contains more shared
# libraries. Use the name of the lowest level one, because libgstbase
# may cause confusion (it is a part of libgstreamer-0_10-0).
# libgstapp is packaged separately, as it uses a different versioning
# Makefile variable.
Summary:        GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group:          System/Libraries
Requires:       %{name}
# Name of previous branch (<10.1 and <SLE10), if not updated:
Obsoletes:      gstreamer-plugin-libs < 0.10

%description -n libgstinterfaces-0_10-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.

%if 0%{?suse_version} >= 1120
%package -n typelib-1_0-GstInterfaces-0_10
Summary:        GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group:          System/Libraries

%description -n typelib-1_0-GstInterfaces-0_10
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.

This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%endif

%package -n libgstapp-0_10-0
Summary:        GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group:          System/Libraries
Requires:       %{name}

%description -n libgstapp-0_10-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.

%if 0%{?suse_version} >= 1120
%package -n typelib-1_0-GstApp-0_10
Summary:        GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group:          System/Libraries

%description -n typelib-1_0-GstApp-0_10
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.

This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%endif

%package devel
Summary:        Include files and libraries mandatory for development with gstreamer-0_10-plugins-base
Group:          Development/Libraries/C and C++
Requires:       libgstapp-0_10-0 = %{version}
Requires:       libgstinterfaces-0_10-0 = %{version}
%if 0%{?suse_version} >= 1120
Requires:       typelib-1_0-GstApp-0_10 = %{version}
Requires:       typelib-1_0-GstInterfaces-0_10 = %{version}
%endif
# Name up to 10.3:
Provides:       gstreamer010-plugins-base-devel = %{version}
Obsoletes:      gstreamer010-plugins-base-devel < %{version}
# libgstapp has moved from bad to base (<= 11.1)
Provides:       gstreamer-0_10-plugins-bad-devel = 0.10.10
Obsoletes:      gstreamer-0_10-plugins-bad-devel < 0.10.10
# Name up to 10.3:
Provides:       gstreamer010-plugins-bad-devel = 0.10.8
Obsoletes:      gstreamer010-plugins-bad-devel < 0.10.8
# Generic name, never used in SuSE:
Provides:       gst-plugins-base-devel = %{version}

%description devel
This package contains all necessary include files and libraries needed
to compile and link applications that use gstreamer-0_10-plugins-base.

%package doc
Summary:        Documentation for gstreamer-0_10-plugins-base
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
# Name up to 10.3:
Provides:       gstreamer010-plugins-base-doc = %{version}
Obsoletes:      gstreamer010-plugins-base-doc < %{version}
# Generic name, never used in SuSE:
Provides:       gst-plugins-base-doc = %{version}

%description doc
This package contains documentation for the gstreamer-0_10-plugins-base
package.

%lang_package
%prep
%setup -q -n %{_name}-%{version}
translation-update-upstream po gst-plugins-base-0.10
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1

%build
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure\
	--disable-static\
	--enable-experimental\
%if 0%{?suse_version} >= 1120
        --enable-introspection\
%endif
	%{nil}
make %{?jobs:-j%jobs} V=1 \
%ifarch ppc ppc64
	ORCC_FLAGS= \
%endif
	%{nil}

%install
%makeinstall
find %{buildroot} -type f -name "*.la" -exec %{__rm} -fv {} +
%find_lang %{_name}-%{gst_branch}

%clean
rm -rf $RPM_BUILD_ROOT

%post -n libgstinterfaces-0_10-0 -p /sbin/ldconfig

%postun -n libgstinterfaces-0_10-0 -p /sbin/ldconfig

%post -n libgstapp-0_10-0 -p /sbin/ldconfig

%postun -n libgstapp-0_10-0 -p /sbin/ldconfig

%files
%defattr(-, root, root)
%doc AUTHORS COPYING COPYING.LIB NEWS README RELEASE REQUIREMENTS
%{_bindir}/gst-discoverer-%{gst_branch}
%{_bindir}/gst-visualise-%{gst_branch}
%dir %{_datadir}/gst-plugins-base/
# This is really needed by libgsttag-0.10.so.0, but it can live without it and
# it's better to have it in this package for SLPP (+ libgsttag-0.10.so.0
# depends on this package anyway)
%{_datadir}/gst-plugins-base/license-translations.dict
%{_libdir}/gstreamer-%{gst_branch}/libgstadder.so
%{_libdir}/gstreamer-%{gst_branch}/libgstalsa.so
%{_libdir}/gstreamer-%{gst_branch}/libgstapp.so
%{_libdir}/gstreamer-%{gst_branch}/libgstaudioconvert.so
%{_libdir}/gstreamer-%{gst_branch}/libgstaudioresample.so
%{_libdir}/gstreamer-%{gst_branch}/libgstaudiotestsrc.so
%{_libdir}/gstreamer-%{gst_branch}/libgstaudiorate.so
%{_libdir}/gstreamer-%{gst_branch}/libgstcdparanoia.so
%{_libdir}/gstreamer-%{gst_branch}/libgstdecodebin.so
%{_libdir}/gstreamer-%{gst_branch}/libgstdecodebin2.so
%{_libdir}/gstreamer-%{gst_branch}/libgstffmpegcolorspace.so
%if 0%{?suse_version} > 1030
%{_libdir}/gstreamer-%{gst_branch}/libgstgio.so
%endif
%{_libdir}/gstreamer-%{gst_branch}/libgstlibvisual.so
%{_libdir}/gstreamer-%{gst_branch}/libgstogg.so
%{_libdir}/gstreamer-%{gst_branch}/libgstpango.so
%{_libdir}/gstreamer-%{gst_branch}/libgstplaybin.so
%{_libdir}/gstreamer-%{gst_branch}/libgstsubparse.so
%{_libdir}/gstreamer-%{gst_branch}/libgsttcp.so
%{_libdir}/gstreamer-%{gst_branch}/libgsttheora.so
%{_libdir}/gstreamer-%{gst_branch}/libgsttypefindfunctions.so
%if %{build_v4l}
%{_libdir}/gstreamer-%{gst_branch}/libgstvideo4linux.so
%endif
%{_libdir}/gstreamer-%{gst_branch}/libgstvideorate.so
%{_libdir}/gstreamer-%{gst_branch}/libgstvideoscale.so
%{_libdir}/gstreamer-%{gst_branch}/libgstvideotestsrc.so
%{_libdir}/gstreamer-%{gst_branch}/libgstvolume.so
%{_libdir}/gstreamer-%{gst_branch}/libgstvorbis.so
%{_libdir}/gstreamer-%{gst_branch}/libgstximagesink.so
%{_libdir}/gstreamer-%{gst_branch}/libgstxvimagesink.so
%{_libdir}/gstreamer-%{gst_branch}/libgstgdp.so
%{_libdir}/gstreamer-%{gst_branch}/libgstencodebin.so
%doc %{_mandir}/man1/gst-visualise-%{gst_branch}.*

%files -n gstreamer-0_10-plugin-gnomevfs
%defattr(-, root, root)
%{_libdir}/gstreamer-%{gst_branch}/libgstgnomevfs.so

%files lang -f %{_name}-%{gst_branch}.lang

%files -n libgstinterfaces-0_10-0
%defattr(-, root, root)
%{_libdir}/*.so.*
%exclude %{_libdir}/libgstapp*.so.*

%if 0%{?suse_version} >= 1120
%files -n typelib-1_0-GstInterfaces-0_10
%defattr(-, root, root)
%{_libdir}/girepository-1.0/*.typelib
%exclude %{_libdir}/girepository-1.0/GstApp-*.typelib
%endif

%files -n libgstapp-0_10-0
%defattr(-, root, root)
%{_libdir}/libgstapp*.so.*

%if 0%{?suse_version} >= 1120
%files -n typelib-1_0-GstApp-0_10
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstApp-*.typelib
%endif

%files devel
%defattr(-, root, root)
%{_includedir}/gstreamer-%{gst_branch}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%if 0%{?suse_version} >= 1120
%{_datadir}/gir-1.0/*.gir
%endif

%files doc
%defattr(-, root, root)
%{_datadir}/gtk-doc/html/gst-plugins-base-libs-%{gst_branch}
%{_datadir}/gtk-doc/html/gst-plugins-base-plugins-%{gst_branch}

%changelog
openSUSE Build Service is sponsored by