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

#
# spec file for package gstreamer-0_10-plugins-ugly
#
# Copyright (c) 2011 SUSE LINUX Products 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 http://bugs.opensuse.org/
#


%define _name gst-plugins-ugly
%define gst_branch 0.10
# Patched code is built by default.
# Use rpmbuild -D 'BUILD_ORIG 1' to build original code.
# Use rpmbuild -D 'BUILD_ORIG 1' -D 'BUILD_ORIG_ADDON 1' to build patched build plus original as addon.
%define _experimental 1

Name:           gstreamer-0_10-plugins-ugly
Version:        0.10.17
Release:        1
License:        LGPLv2.1+
Group:          Productivity/Multimedia/Other
Summary:        GStreamer Streaming-Media Framework Plug-Ins
Url:            http://gstreamer.freedesktop.org/
%if 0%{?BUILD_ORIG}
Source:         http://gstreamer.freedesktop.org/src/%{_name}/%{_name}-%{version}.tar.bz2
%else
# WARNING: This is not a comment, but the real command to repack source:
#%(bash %{_sourcedir}/%{name}-patch-source.sh %{_name}-%{version}.tar.bz2)
Source:         %{_name}-%{version}-patched.tar.bz2
%endif
Source1:        %{name}-patch-source.sh
# PATCH-FEATURE-OPENSUSE gstreamer010-plugins-ugly-patched.patch -- Disable plugins that can't be distributed by openSUSE
Patch1:         gstreamer010-plugins-ugly-patched.patch
BuildRequires:  gcc-c++
BuildRequires:  gstreamer-0_10-devel >= 0.10.26
BuildRequires:  gstreamer-0_10-plugins-base-devel >= 0.10.26
BuildRequires:  gtk-doc
BuildRequires:  libcdio-devel
# Broken and disabled by upstream:
BuildRequires:  libdvdnav-devel
BuildRequires:  libdvdread-devel
BuildRequires:  libid3tag-devel
BuildRequires:  libsidplay1-devel
BuildRequires:  orc-devel
BuildRequires:  python python-xml
BuildRequires:  translation-update-upstream
%if 0%{?BUILD_ORIG}
BuildRequires:  liba52-devel
BuildRequires:  libmad-devel
BuildRequires:  libmp3lame-devel
BuildRequires:  libmpeg2-devel
BuildRequires:  libopencore-amr-devel
BuildRequires:  libtwolame-devel
BuildRequires:  libx264-devel
%endif
# Get minimum gstreamer and gstreamer-plugins-base required versions from configure.ac
%define gstreamer010_plugins_ugly_req %(zgrep --text "^GST.*_REQ" %{S:0} | sort -u | sed 's/GST_REQ=/gstreamer-0_10 >= /;s/GSTPB_REQ=/gstreamer-0_10-plugins-base >= /' | tr '\\n' ' ')
Requires:       %gstreamer010_plugins_ugly_req
Recommends:     %{name}-lang = %{version}
Enhances:       gstreamer-0_10
# Name up to 10.3:
Provides:       gstreamer010-plugins-ugly = %{version}
Obsoletes:      gstreamer010-plugins-ugly < %{version}
# Generic name, never used in SuSE:
Provides:       gst-plugins-ugly = %{version}
%if 0%{?BUILD_ORIG}
%if 0%{?BUILD_ORIG_ADDON}
Provides:       patched_subset
%else
Provides:       %{name}-orig-addon = %{version}
# Name up to 10.3:
Provides:       gstreamer010-plugins-ugly-orig-addon = %{version}
Obsoletes:      gstreamer010-plugins-ugly-orig-addon < %{version}
# x264 moved from bad (after OpenSUSE 11.1 & SLE11):
Conflicts:      gstreamer010-plugins-bad < 0.10.13
# xingmux moved from bad (after OpenSUSE 10.3):
Conflicts:      gstreamer010-plugins-bad <= 0.10.5
%endif
%else
Provides:       patched_subset
%endif
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 newplug-ins.

This package contains well-written plug-ins that can't be shipped in
gstreamer-plugins-good because:
- the license is not LGPL
- the license of the library is not LGPL
- there are possible licensing issues with the code.

%if 0%{?BUILD_ORIG}
%if 0%{?BUILD_ORIG_ADDON}

%package orig-addon
License:        LGPLv2.1+
Summary:        GStreamer Streaming-Media Framework Plug-Ins
Group:          Productivity/Multimedia/Other
Requires:       %{name} >= %{version}
Supplements:    %{name}
# Name up to 10.3:
Provides:       gstreamer010-plugins-ugly-orig-addon = %{version}
Obsoletes:      gstreamer010-plugins-ugly-orig-addon < %{version}
# Generic name, never used in SuSE:
Provides:       gst-plugins-ugly:%{_libdir}/gstreamer-%{gst_branch}/libgstmad.so
# x264 moved from bad (after OpenSUSE 11.1 & SLE11):
Conflicts:      gstreamer010-plugins-bad < 0.10.13
# xingmux moved from bad (after OpenSUSE 10.3):
Conflicts:      gstreamer010-plugins-bad <= 0.10.5

%description orig-addon
GStreamer is a streaming media framework based on graphs of filters
that 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 plug-in-based architecture
means that new data types or processing capabilities can be added
simply by installing new plug-ins.

This package contains well-written plug-ins that can't be shipped in
openSUSE because of patent problems.

%endif
%endif

%package doc
License:        LGPLv2.1+
Summary:        GStreamer Streaming-Media Framework Plug-Ins
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
# Name up to 10.3:
Provides:       gstreamer010-plugins-ugly-doc = %{version}
Obsoletes:      gstreamer010-plugins-ugly-doc < %{version}

%description doc
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 plug-ins.

%lang_package
%prep
%setup -q -n %{_name}-%{version}
%if ! 0%{?BUILD_ORIG}
%patch1
%endif
translation-update-upstream po gst-plugins-ugly-0.10

%build
%if ! 0%{?BUILD_ORIG}
%if 0%{?suse_version} >= 1110
NOCONFIGURE=1 ./autogen.sh
%else
autoconf
%endif
%endif
%configure\
%if 0%{?_package_name}
        --with-package-name='%{_package_name}' \
%else
        --with-package-name='openSUSE gstreamer-plugins-ugly package' \
%endif
%if 0%{?_package_origin}
        --with-package-origin='%{_package_origin}' \
%else
        --with-package-origin='http://www.opensuse.org/' \
%endif
        --enable-gtk-doc \
%if 0%{?_experimental}
        --enable-experimental \
%endif
        --disable-static
make %{?_smp_mflags} V=1

%install
%makeinstall
rm %{buildroot}%{_libdir}/gstreamer-%{gst_branch}/*.la
%if ! 0%{?BUILD_ORIG}
for MODULE in \
%{_datadir}/gstreamer-%{gst_branch}/presets/GstAmrnbEnc.prs \
%{_datadir}/gstreamer-%{gst_branch}/presets/GstX264Enc.prs \
%{_libdir}/gstreamer-%{gst_branch}/libgsta52dec.so \
%{_libdir}/gstreamer-%{gst_branch}/libgstamrnb.so \
%{_libdir}/gstreamer-%{gst_branch}/libgstasf.so \
%{_libdir}/gstreamer-%{gst_branch}/libgstiec958.so \
%{_libdir}/gstreamer-%{gst_branch}/libgstlame.so \
%{_libdir}/gstreamer-%{gst_branch}/libgstmad.so \
%{_libdir}/gstreamer-%{gst_branch}/libgstmpeg2dec.so \
%{_libdir}/gstreamer-%{gst_branch}/libgstmpegaudioparse.so \
%{_libdir}/gstreamer-%{gst_branch}/libgstmpegstream.so \
%{_libdir}/gstreamer-%{gst_branch}/libgstx264.so \
; do
    rm -f %{buildroot}$MODULE
done
%endif
%find_lang %{_name}-%{gst_branch}

%clean
rm -rf %{buildroot}

%files
%defattr(-, root, root)
%doc AUTHORS COPYING NEWS README RELEASE REQUIREMENTS
%{_libdir}/gstreamer-%{gst_branch}/libgstcdio.so
%{_libdir}/gstreamer-%{gst_branch}/libgstdvdlpcmdec.so
#%{_libdir}/gstreamer-%{gst_branch}/libgstdvdnav.so
%{_libdir}/gstreamer-%{gst_branch}/libgstdvdread.so
%{_libdir}/gstreamer-%{gst_branch}/libgstdvdsub.so
%{_libdir}/gstreamer-%{gst_branch}/libgstrmdemux.so
%{_libdir}/gstreamer-%{gst_branch}/libgstsid.so
%if 0%{?_experimental}
%{_libdir}/gstreamer-%{gst_branch}/libgstsynaesthesia.so
%endif
%if 0%{?BUILD_ORIG}
%if 0%{?BUILD_ORIG_ADDON}

%files orig-addon
%defattr(-, root, root)
%endif
%{_libdir}/gstreamer-%{gst_branch}/libgsta52dec.so
%{_libdir}/gstreamer-%{gst_branch}/libgstamrnb.so
%{_libdir}/gstreamer-%{gst_branch}/libgstamrwbdec.so
%{_libdir}/gstreamer-%{gst_branch}/libgstasf.so
%{_libdir}/gstreamer-%{gst_branch}/libgstiec958.so
%{_libdir}/gstreamer-%{gst_branch}/libgstlame.so
%{_libdir}/gstreamer-%{gst_branch}/libgstmad.so
%{_libdir}/gstreamer-%{gst_branch}/libgstmpeg2dec.so
%{_libdir}/gstreamer-%{gst_branch}/libgstmpegaudioparse.so
%{_libdir}/gstreamer-%{gst_branch}/libgstmpegstream.so
%{_libdir}/gstreamer-%{gst_branch}/libgsttwolame.so
%{_libdir}/gstreamer-%{gst_branch}/libgstx264.so
%{_datadir}/gstreamer-%{gst_branch}/presets/GstAmrnbEnc.prs
%{_datadir}/gstreamer-%{gst_branch}/presets/GstX264Enc.prs
%endif

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

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

%changelog