use long options
[platform/upstream/gstreamer.git] / gstreamer.spec.in
index 8a84309..52f3ecb 100644 (file)
@@ -1,4 +1,4 @@
-Name:          gstreamer
+Name:          gstreamer@GST_VERSION_MAJOR@@GST_VERSION_MINOR@
 Version:       @VERSION@
 Release:       @GST_VERSION_RELEASE@
 Summary:       GStreamer streaming media framework runtime.
@@ -7,29 +7,43 @@ 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
+Source:        http://gstreamer.net/src/gstreamer/gstreamer-%{version}.tar.gz
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+%define                majorminor      @GST_MAJORMINOR@
 %define        _glib2          @GLIB2_REQ@
 %define        _libxml2        @LIBXML2_REQ@
 
 Requires:      glib2 >= %_glib2
 Requires:      libxml2 >= %_libxml2
 Requires:      popt > 1.6
+
+Provides:      gstreamer =%{version}-%{release}
+
 BuildRequires:         glib2-devel >= %_glib2
 BuildRequires:         libxml2-devel >= %_libxml2
-BuildRequires:         nasm >= 0.90
 BuildRequires:         bison
-BuildRequires:         gtk-doc >= 0.7
+BuildRequires:         flex
+BuildRequires:         m4
+BuildRequires:         gtk-doc >= 1.1
 BuildRequires:         gcc
+BuildRequires:         gettext
 BuildRequires:         zlib-devel
 BuildRequires:  popt > 1.6
 Prereq:                /sbin/ldconfig
 
 ### documentation requirements
-BuildRequires:  openjade
 BuildRequires:  python2
-BuildRequires:  docbook-style-dsssl docbook-dtd31-sgml
+BuildRequires:  openjade
+BuildRequires:  jadetex
+BuildRequires:  libxslt
+BuildRequires:  docbook-style-dsssl
+BuildRequires:  docbook-style-xsl
+BuildRequires:  docbook-utils
+BuildRequires: transfig
+BuildRequires:  xfig
+BuildRequires:  netpbm-progs
+BuildRequires:  ghostscript
 
 %description
 GStreamer is a streaming-media framework, based on graphs of filters which
@@ -46,6 +60,7 @@ Group:                Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 Requires:      glib2-devel >= %_glib2
 Requires:      libxml2-devel >= %_libxml2
+Provides:      gstreamer-devel = %{version}-%{release}
 
 %description devel
 GStreamer is a streaming-media framework, based on graphs of filters which
@@ -58,154 +73,177 @@ plugins.
 This package contains the libraries and includes files necessary to develop
 applications and plugins for GStreamer.
 
+%package -n gstreamer-tools
+Summary:       tools for GStreamer streaming media framework.
+Group:                 Libraries/Multimedia
+
+%description -n gstreamer-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.
+
+This package contains wrapper scripts for the command-line tools that work
+with different major/minor versions of GStreamer.
+                                                                                
 %prep
-%setup
+%setup -n gstreamer-%{version}
 
 %build
-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} \
+%configure \
   --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)
-else
-  make
-fi
+  --with-cachedir=%{_localstatedir}/cache/gstreamer-%{majorminor} \
+  --disable-tests --disable-examples
+                                                                                
+make %{?_smp_mflags}
 
 %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
-
-%makeinstall
-
+rm -rf $RPM_BUILD_ROOT
+
+# build documentation to a different location so it doesn't end up in
+# a gstreamer-devel-(version) dir and doesn't get deleted by %doc scripts
+%makeinstall docdir=$RPM_BUILD_ROOT%{_datadir}/gstreamer-%{majorminor}/doc
+                                                                                
+%find_lang gstreamer-%{majorminor}
+# Clean out files that should not be part of the rpm.
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/gstreamer-%{majorminor}
+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
+# Create empty cache directory
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/gstreamer-%{major}
+                                                                                
 %clean
-[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT
 
 %post
 /sbin/ldconfig
-%{_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
+%{_bindir}/gst-register-%{majorminor} > /dev/null 2> /dev/null
 
 %postun
 /sbin/ldconfig
 
-%files
-%defattr(-, root, root)
-%doc AUTHORS COPYING README TODO COPYING.LIB ABOUT-NLS REQUIREMENTS DOCBUILDING 
+%files -f gstreamer-%{majorminor}.lang
+%defattr(-, root, root, -)
+%doc AUTHORS COPYING README TODO COPYING.LIB ABOUT-NLS REQUIREMENTS DOCBUILDING
+%{_libdir}/libgstreamer-%{majorminor}.so.*
+%{_libdir}/libgstcontrol-%{majorminor}.so.*
+%dir %{_libdir}/gstreamer-%{majorminor}
+%{_libdir}/gstreamer-%{majorminor}/libgstbasicomega*.so*
+%{_libdir}/gstreamer-%{majorminor}/libgstoptscheduler.so*
+%{_libdir}/gstreamer-%{majorminor}/libgstoptomega*.so*
+%{_libdir}/gstreamer-%{majorminor}/libgstbasicgthreadscheduler*.so
+%{_libdir}/gstreamer-%{majorminor}/libgstoptgthreadscheduler*.so
+%{_libdir}/gstreamer-%{majorminor}/libgstelements*.so*
+%{_libdir}/gstreamer-%{majorminor}/libgstgetbits*.so*
+%{_libdir}/gstreamer-%{majorminor}/libgstspider*.so*
+%{_libdir}/gstreamer-%{majorminor}/libgstindexers.so*
+%{_libdir}/gstreamer-%{majorminor}/libgstbytestream.so
+%{_bindir}/gst-xmlinspect-%{majorminor}
+%{_bindir}/gst-complete-%{majorminor}
+%{_bindir}/gst-compprep-%{majorminor}
+%{_bindir}/gst-inspect-%{majorminor}
+%{_bindir}/gst-launch-%{majorminor}
+%{_bindir}/gst-md5sum-%{majorminor}
+%{_bindir}/gst-register-%{majorminor}
+%{_bindir}/gst-xmllaunch-%{majorminor}
+%{_bindir}/gst-typefind-%{majorminor}
+%{_mandir}/man1/gst-xmllaunch-%{majorminor}.*
+%{_mandir}/man1/gst-complete-%{majorminor}.*
+%{_mandir}/man1/gst-compprep-%{majorminor}.*
+%{_mandir}/man1/gst-inspect-%{majorminor}.*
+%{_mandir}/man1/gst-launch-%{majorminor}.*
+%{_mandir}/man1/gst-md5sum-%{majorminor}.*
+%{_mandir}/man1/gst-register-%{majorminor}.*
+%{_mandir}/man1/gst-typefind-%{majorminor}.*
+%dir %{_localstatedir}/cache/gstreamer-%{majorminor}
+
+%files -n gstreamer-tools
+%defattr(-, root, root, -)
 %{_bindir}/gst-complete
 %{_bindir}/gst-compprep
+%{_bindir}/gst-feedback
 %{_bindir}/gst-inspect
 %{_bindir}/gst-launch
+%{_bindir}/gst-md5sum
 %{_bindir}/gst-register
-%{_libdir}/libgstreamer-%{version}.so.*
-%{_libdir}/gst/libgstautoplugcache*.so*
-%{_libdir}/gst/libgstautoplugger*.so*
-%{_libdir}/gst/libgstbasicscheduler*.so*
-%{_libdir}/gst/libgststandardscheduler*.so*
-%{_libdir}/gst/libgstelements*.so*
-%{_libdir}/gst/libgsttypes*.so*
-%{_libdir}/gst/libgststaticautoplug*.so*
-%{_libdir}/gst/libgstcontrol*.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.*
+%{_bindir}/gst-typefind
+%{_bindir}/gst-xmlinspect
+%{_bindir}/gst-xmllaunch
 
 %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-gstpad-template.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
+%defattr(-, root, root, -)
+%dir %{_includedir}/gstreamer-%{majorminor}
+%dir %{_includedir}/gstreamer-%{majorminor}/gst
+%{_includedir}/gstreamer-%{majorminor}/gst/*.h
+%dir %{_includedir}/gstreamer-%{majorminor}/gst/control
+%{_includedir}/gstreamer-%{majorminor}/gst/control/*.h
+%dir %{_includedir}/gstreamer-%{majorminor}/gst/getbits
+%{_includedir}/gstreamer-%{majorminor}/gst/getbits/getbits.h
+%{_includedir}/gstreamer-%{majorminor}/gst/bytestream/bytestream.h
+%{_libdir}/libgstreamer-%{majorminor}.so
+%{_libdir}/libgstcontrol-%{majorminor}.so
+%{_datadir}/aclocal/gst-element-check-%{majorminor}.m4
+%{_libdir}/pkgconfig/gstreamer-%{majorminor}.pc
+%{_libdir}/pkgconfig/gstreamer-control-%{majorminor}.pc
+                                                                                
+%{_datadir}/gstreamer-%{majorminor}/doc
+%{_datadir}/gtk-doc/html/gstreamer-%{majorminor}/*
+%{_datadir}/gtk-doc/html/gstreamer-libs-%{majorminor}/*
+                                                                                
+%changelog
+* Thu Feb 12 2004 Thomas Vander Stichele <thomas at apestaart dot org>
+- sync with 0.7.4 fedora spec
 
+* Thu Feb 05 2004 Thomas Vander Stichele <thomas at apestaart dot org>
+- bump gtk-doc required version to 1.0 for the new options used
+
+* Wed Feb 04 2004 Thomas Vander Stichele <thomas at apestaart dot org>
+- add -common package containing frontend wrapper binaries
+
+* Mon Dec 01 2003 Thomas Vander Stichele <thomas at apestaart dot org>
+- changed documentation buildrequires
+
+* Sun Nov 09 2003 Christian Schaller <Uraeus@gnome.org>
+- Fix spec to handle new bytestream library 
+
+* Sun Aug 17 2003 Christian Schaller <uraeus@gnome.org>
+- Remove docs build from RPM as the build is broken
+- Fix stuff since more files are versioned now
+- Remove wingo schedulers
+- Remove putbits stuff
+
+* Sun May 18 2003 Thomas Vander Stichele <thomas at apestaart dot org>
+- devhelp files are now generated by gtk-doc, changed accordingly
+
+* Sun Mar 16 2003 Christian F.K. Schaller <Uraeus@gnome.org>
+- Add gthread scheduler
+
+* Sat Dec 07 2002 Thomas Vander Stichele <thomas at apestaart dot org>
+- define majorminor and use it everywhere
+- full parallel installability
+
+* Tue Nov 05 2002 Christian Schaller <Uraeus@linuxrising.org>
+- Add optwingo scheduler
+* Sat Oct 12 2002 Christian Schaller <Uraeus@linuxrising.org>
+- Updated to work better with default RH8 rpm
+- Added missing unspeced files
+- Removed .a and .la files from buildroot
+
+* Sat Sep 21 2002 Thomas Vander Stichele <thomas@apestaart.org>
+- added gst-md5sum
+
+* 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:
 
-%changelog
 * Sat Jun 22 2002 Thomas Vander Stichele <thomas@apestaart.org>
 - moved header location