%define majorminor  @GST_API_VERSION@
%define gstreamer   gstreamer011

%define gst_minver  0.11.0

Name: 		%{gstreamer}-plugins-ugly
Version: 	@VERSION@
Release: 	@PACKAGE_VERSION_RELEASE@.gst
Summary: 	GStreamer streaming media framework "ugly" plug-ins

Group: 		Applications/Multimedia
License: 	LGPL
URL:		http://gstreamer.freedesktop.org/
Vendor:         GStreamer Backpackers Team <package@gstreamer.freedesktop.org>
Source:         http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Requires: 	%{gstreamer} >= %{gst_minver}
BuildRequires: 	%{gstreamer}-devel >= %{gst_minver}
BuildRequires:  gcc-c++

@USE_SIDPLAY_TRUE@BuildRequires:  libsidplay-devel >= 1.36.0
@USE_A52DEC_TRUE@BuildRequires:  a52dec-devel >= 0.7.3
@USE_DVDREAD_TRUE@BuildRequires:  libdvdread-devel >= 0.9.0
@USE_LAME_TRUE@BuildRequires:  lame-devel >= 3.89
@USE_MAD_TRUE@BuildRequires:  libmad-devel >= 0.15.0
@USE_MPEG2DEC_TRUE@BuildRequires:  mpeg2dec-devel >= 0.4.0

@USE_SIDPLAY_TRUE@Provides:       gstreamer-sid = %{version}-%{release}
@USE_LAME_TRUE@Provides:      gstreamer-lame = %{version}-%{release}
@USE_MAD_TRUE@Provides:       gstreamer-mad = %{version}-%{release}
@USE_A52DEC_TRUE@Provides:       gstreamer-a52dec = %{version}-%{release}
@USE_DVDREAD_TRUE@Provides:       gstreamer-dvdread = %{version}-%{release}
@USE_MPEG2DEC_TRUE@Provides:       gstreamer-mpeg2dec = %{version}-%{release}

@USE_X264_TRUE@Requires: x264-libs

%description
GStreamer is a streaming media framework, based on graphs of elements which
operate on media data.

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.

# %package devel
# Summary:        Development files for GStreamer Ugly Plugins
# Group:          Development/Libraries
#
# Requires:       %{name} = %{version}-%{release}
#
# %description devel
# GStreamer is a streaming media framework, based on graphs of elements which
# operate on media data.
#
# 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.
# 
# This package contains development files and documentation.

%prep
%setup -q -n gst-plugins-ugly-%{version}
%build
%configure \
  --enable-debug \
  --enable-gtk-doc 

make %{?_smp_mflags}
                                                                                
%install
rm -rf $RPM_BUILD_ROOT

# Install doc temporarily in order to be included later by rpm
%makeinstall

# Clean out files that should not be part of the rpm.
rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la

%find_lang gst-plugins-ugly-%{majorminor}

%clean
rm -rf $RPM_BUILD_ROOT

%files -f gst-plugins-ugly-%{majorminor}.lang
%defattr(-, root, root, -)
%doc AUTHORS COPYING README REQUIREMENTS gst-plugins-ugly.doap
%{_libdir}/gstreamer-%{majorminor}/libgstasf.so
%{_libdir}/gstreamer-%{majorminor}/libgstdvdlpcmdec.so
%{_libdir}/gstreamer-%{majorminor}/libgstxingmux.so
%{_libdir}/gstreamer-%{majorminor}/libgstrmdemux.so
%{_libdir}/gstreamer-%{majorminor}/libgstdvdsub.so

# plugins with dependencies
@USE_SIDPLAY_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstsid.so
@USE_LAME_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstlame.so
@USE_MAD_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstmad.so
@USE_A52DEC_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgsta52dec.so
@USE_DVDREAD_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstdvdread.so
@USE_MPEG2DEC_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstmpeg2dec.so
@USE_TWOLAME_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgsttwolame.so
%doc %{_datadir}/gtk-doc/html/gst-plugins-ugly-plugins-%{majorminor}/*
@USE_X264_TRUE@%{_datadir}/gstreamer-%{majorminor}/presets/GstX264Enc.prs
@USE_X264_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstx264.so
@USE_AMRNB_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstamrnb.so
@USE_AMRWB_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstamrwbdec.so
@USE_AMRNB_TRUE@%{_datadir}/gstreamer-%{majorminor}/presets/GstAmrnbEnc.prs
@USE_CDIO_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstcdio.so


%changelog
* Fri Jun 5 2009 Jan Schmidt <thaytan at mad dot scientist dot com>
- Move x264enc plugin from -bad

* Fri Dec 15 2006 Thomas Vander Stichele <thomas at apestaart dot org>
- further cleanup
- add .doap file

* Fri Sep 02 2005 Thomas Vander Stichele <thomas at apestaart dot org>
- clean out for split into ugly
