-%define name gstreamer
-%define ver @VERSION@
-%define rel SNAP
-%define prefix /usr
-
-Summary: Streaming-media framework
-Name: %name
-Version: %ver
-Release: %rel
-Copyright: LGPL
-Group: Libraries
-Source: %{name}-%{ver}.tar.gz
-BuildRoot: /var/tmp/%{name}-%{ver}-root
-Docdir: %{prefix}/doc
-Prefix: %prefix
+Name: gstreamer
+Version: @VERSION@
+Release: @GST_VERSION_RELEASE@
+Summary: GStreamer streaming media framework runtime.
+
+Group: Libraries/Multimedia
+License: LGPL
+URL: http://gstreamer.net/
+Vendor: GStreamer Backpackers Team <package@gstreamer.net>
+Source: http://gstreamer.net/releases/%{version}/src/%{name}-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+
+%define _glib2 @GLIB2_REQ@
+%define _libxml2 @LIBXML2_REQ@
+
+Requires: glib2 >= %_glib2
+Requires: libxml2 >= %_libxml2
+Requires: popt > 1.6
+BuildRequires: glib2-devel >= %_glib2
+BuildRequires: libxml2-devel >= %_libxml2
+BuildRequires: nasm >= 0.90
+BuildRequires: bison
+BuildRequires: flex
+BuildRequires: gtk-doc >= 0.7
+BuildRequires: gcc
+BuildRequires: zlib-devel
+BuildRequires: popt > 1.6
+Prereq: /sbin/ldconfig
+
+### documentation requirements
+BuildRequires: openjade
+BuildRequires: python2
+BuildRequires: docbook-style-dsssl docbook-dtd31-sgml
+BuildRequires: transfig
%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. It's plugin-based architecture means that new data
-types or processing capabilities can be added simply by installing a new
-package.
+else media-related. Its plugin-based architecture means that new data
+types or processing capabilities can be added simply by installing new
+plugins.
-%changelog
-* Sun Jan 30 2000 Erik Walthinsen <omega@cse.ogi.edu>
-- first draft of spec file
+%package devel
+Summary: Libraries/include files for GStreamer streaming media framework.
+Group: Development/Libraries
+
+Requires: %{name} = %{version}-%{release}
+Requires: glib2-devel >= %_glib2
+Requires: libxml2-devel >= %_libxml2
+
+%description devel
+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.
%prep
%setup
%build
-CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix
+CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
+CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
+FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
+%{?__libtoolize:[ -f configure.in ] && %{__libtoolize} --copy --force} ; \
+./configure \
+ --prefix=%{_prefix} \
+ --exec-prefix=%{_exec_prefix} \
+ --bindir=%{_bindir} \
+ --sbindir=%{_sbindir} \
+ --sysconfdir=%{_sysconfdir} \
+ --datadir=%{_datadir} \
+ --includedir=%{_includedir} \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_libexecdir} \
+ --localstatedir=%{_localstatedir} \
+ --sharedstatedir=%{_sharedstatedir} \
+ --mandir=%{_mandir} \
+ --infodir=%{_infodir} \
+ --enable-debug \
+ --with-configdir=/etc/gstreamer \
+ --disable-tests --disable-examples \
+ --enable-docs-build --with-html-dir=$RPM_BUILD_ROOT%{_datadir}/gtk-doc/html
if [ "$SMP" != "" ]; then
(make "MAKE=make -k -j $SMP"; exit 0)
- make
else
make
fi
%install
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
+# adding devhelp stuff here for now, need to integrate better
+# when devhelp allows it
+mkdir -p $RPM_BUILD_ROOT/usr/share/devhelp/specs
+cp $RPM_BUILD_DIR/%{name}-%{version}/docs/devhelp/*.devhelp $RPM_BUILD_ROOT/usr/share/devhelp/specs
-make prefix=$RPM_BUILD_ROOT%{prefix} install
+%makeinstall
%clean
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
-%post -p /sbin/ldconfig
+%post
+/sbin/ldconfig
+# registry handling is now done automatically
+# %{_prefix}/bin/gst-register --gst-mask=0
+
+%post devel
+# adding devhelp links to work around different base not working
+mkdir -p %{_datadir}/devhelp/books
+ln -sf %{_datadir}/gtk-doc/html/gstreamer %{_datadir}/devhelp/books
+ln -sf %{_datadir}/gtk-doc/html/gstreamer-libs %{_datadir}/devhelp/books
+
+%postun
+/sbin/ldconfig
-%postun -p /sbin/ldconfig
-
%files
%defattr(-, root, root)
+%doc AUTHORS COPYING README TODO COPYING.LIB ABOUT-NLS REQUIREMENTS DOCBUILDING RELEASE
+%{_bindir}/gst-complete
+%{_bindir}/gst-compprep
+%{_bindir}/gst-inspect
+%{_bindir}/gst-launch
+%{_bindir}/gst-register
+%{_bindir}/gst-feedback
+%{_libdir}/libgstreamer-%{version}.so.*
+%{_libdir}/gst/libgstautoplugcache*.so*
+%{_libdir}/gst/libgstautoplugger*.so*
+%{_libdir}/gst/libgstbasicomega*.so*
+%{_libdir}/gst/libgstfastomega*.so*
+%{_libdir}/gst/libgstoptomega*.so*
+%{_libdir}/gst/libgstbasicwingo*.so*
+%{_libdir}/gst/libgstfastwingo*.so*
+%{_libdir}/gst/libgstelements*.so*
+%{_libdir}/gst/libgsttypes*.so*
+%{_libdir}/gst/libgststaticautoplug*.so*
+%{_libdir}/gst/libgstbytestream*.so*
+%{_libdir}/gst/libgstgetbits*.so*
+%{_libdir}/gst/libgstputbits*.so*
+%{_libdir}/gst/libgstspider*.so*
+%{_mandir}/man1/gst-complete.*
+%{_mandir}/man1/gst-compprep.*
+%{_mandir}/man1/gst-inspect.*
+%{_mandir}/man1/gst-launch.*
+%{_mandir}/man1/gst-register.*
+
+%{_libdir}/libgstcontrol*.so*
+
+%files devel
+%defattr(-, root, root)
+%{_includedir}/%{name}-%{version}/gst
+%{_libdir}/libgstreamer.a
+%{_libdir}/libgstreamer.so
+%{_libdir}/pkgconfig/gstreamer*.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/gstreamer/autopluggers.html
+%{_datadir}/gtk-doc/html/gstreamer/book1.html
+%{_datadir}/gtk-doc/html/gstreamer/element-types.html
+%{_datadir}/gtk-doc/html/gstreamer/gstautoplugfactory.html
+%{_datadir}/gtk-doc/html/gstreamer/gstautoplug.html
+%{_datadir}/gtk-doc/html/gstreamer/gstbin.html
+%{_datadir}/gtk-doc/html/gstreamer/gstclock.html
+%{_datadir}/gtk-doc/html/gstreamer/gstelement.html
+%{_datadir}/gtk-doc/html/gstreamer/gst-index.html
+%{_datadir}/gtk-doc/html/gstreamer/gstobject.html
+%{_datadir}/gtk-doc/html/gstreamer/gstpad.html
+%{_datadir}/gtk-doc/html/gstreamer/gstpipeline.html
+%{_datadir}/gtk-doc/html/gstreamer/gstpluginfeature.html
+# %{_datadir}/gtk-doc/html/gstreamer/gstreamer-cothreads.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstbuffer.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstbufferpool.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstcaps.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstcpu.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstdata.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstevent.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gst.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstinfo.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstparse.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstplugin.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstprops.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gststaticautoplug.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gststaticautoplugrender.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gsttee.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gsttype.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstutils.html
+%{_datadir}/gtk-doc/html/gstreamer/gstreamer.html
+%{_datadir}/gtk-doc/html/gstreamer/gstschedulerfactory.html
+%{_datadir}/gtk-doc/html/gstreamer/gstscheduler.html
+%{_datadir}/gtk-doc/html/gstreamer/gstthread.html
+%{_datadir}/gtk-doc/html/gstreamer/gsttimecache.html
+%{_datadir}/gtk-doc/html/gstreamer/gsttypefactory.html
+%{_datadir}/gtk-doc/html/gstreamer/gstxml.html
+%{_datadir}/gtk-doc/html/gstreamer/index.sgml
+## gstreamer-libs API
+%{_datadir}/gtk-doc/html/gstreamer-libs/book1.html
+%{_datadir}/gtk-doc/html/gstreamer-libs/gstreamer-libs-gstcolorspace.html
+%{_datadir}/gtk-doc/html/gstreamer-libs/gstreamer-libs-gstgetbits.html
+%{_datadir}/gtk-doc/html/gstreamer-libs/gstreamer-libs.html
+%{_datadir}/gtk-doc/html/gstreamer-libs/index.sgml
+## this catches all of the rest of the docs we might have forgotten
+%{_datadir}/gtk-doc/html/*
+%{_datadir}/devhelp/specs/gstreamer.devhelp
+%{_datadir}/devhelp/specs/gstreamer-libs.devhelp
+
+
+%changelog
+* Tue Sep 17 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- adding flex to buildrequires
+
+* Fri Sep 13 2002 Christian F.K. Schaller <Uraeus@linuxrising.org>
+- Fixed the schedulers after the renaming
+* Sun Sep 08 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- added transfig to the BuildRequires:
+
+* Sat Jun 22 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- moved header location
+
+* Mon Jun 17 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- added popt
+- removed .la
+
+* Fri Jun 07 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- added release of gstreamer to req of gstreamer-devel
+- changed location of API docs to be in gtk-doc like other gtk-doc stuff
+- reordered SPEC file
+
+* Mon Apr 29 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- moved html docs to gtk-doc standard directory
+
+* Tue Mar 5 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- move version defines of glib2 and libxml2 to configure.ac
+- add BuildRequires for these two libs
+
+* Sun Mar 3 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- put html docs in canonical place, avoiding %doc erasure
+- added devhelp support, current install of it is hackish
+
+* Sat Mar 2 2002 Christian Schaller <Uraeus@linuxrising.org>
+- Added documentation to build
+
+* Mon Feb 11 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- added libgstbasicscheduler
+- renamed libgst to libgstreamer
+
+* Fri Jan 04 2002 Christian Schaller <Uraeus@linuxrising.org>
+- Added configdir parameter as it seems the configdir gets weird otherwise
+
+* Thu Jan 03 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- split off gstreamer-editor from core
+- removed gstreamer-gnome-apps
+
+* Sat Dec 29 2001 Rodney Dawes <dobey@free.fr>
+- Cleaned up the spec file for the gstreamer core/plug-ins split
+- Improve spec file
+
+* Sat Dec 15 2001 Christian Schaller <Uraeus@linuxrising.org>
+- Split of more plugins from the core and put them into their own modules
+- Includes colorspace, xfree and wav
+- Improved package Require lines
+- Added mp3encode (lame based) to the SPEC
+
+* Wed Dec 12 2001 Christian Schaller <Uraeus@linuxrising.org>
+- Thomas merged mpeg plugins into one
+* Sat Dec 08 2001 Christian Schaller <Uraeus@linuxrising.org>
+- More minor cleanups including some fixed descriptions from Andrew Mitchell
+
+* Fri Dec 07 2001 Christian Schaller <Uraeus@linuxrising.org>
+- Added logging to the make statement
+
+* Wed Dec 05 2001 Christian Schaller <Uraeus@linuxrising.org>
+- Updated in preparation for 0.3.0 release
+
+* Fri Jun 29 2001 Christian Schaller <Uraeus@linuxrising.org>
+- Updated for 0.2.1 release
+- Split out the GUI packages into their own RPM
+- added new plugins (FLAC, festival, quicktime etc.)
+
+* Sat Jun 09 2001 Christian Schaller <Uraeus@linuxrising.org>
+- Visualisation plugins bundled out togheter
+- Moved files sections up close to their respective descriptions
+
+* Sat Jun 02 2001 Christian Schaller <Uraeus@linuxrising.org>
+- Split the package into separate RPMS,
+ putting most plugins out by themselves.
+
+* Fri Jun 01 2001 Christian Schaller <Uraeus@linuxrising.org>
+- Updated with change suggestions from Dennis Bjorklund
+
+* Tue Jan 09 2001 Erik Walthinsen <omega@cse.ogi.edu>
+- updated to build -devel package as well
+
+* Sun Jan 30 2000 Erik Walthinsen <omega@cse.ogi.edu>
+- first draft of spec file
-%{prefix}/bin/*
-%{prefix}/lib/*
-%{prefix}/lib/gst/*
-%{prefix}/include/gst/*