building gstreamer-plugins from SRPM

Marc Deslauriers marcdeslauriers at videotron.ca
Sat Nov 15 14:12:23 UTC 2003


On Fri, 2003-11-14 at 22:05, Jason Fiset wrote:
> I'd like to build my own custom gstreamer-mp3 plugin so I started by
> getting the SRPM for the gstreamer-plugin RPM and am trying to derrive
> the MP3 RPM from it and the original gstreamer-plugin tar file from the
> official gstreamer site.
...
> Any idea why these files are not getting built?

There are a few "BuildRequires" missing from the default .spec file. You
need to install libghttp-devel and libraw1394-devel (for starters).

Here is the spec file I use.

Marc.


-------------- next part --------------
%define         _glib2          2.0.0
%define         hermes_version  1.3.3

Summary: GStreamer Streaming-media framework plugins
Name: gstreamer-plugins
Version: 0.6.3
%define major 0.6
Release: 3.md.2
License: LGPL
Group: Applications/Multimedia
Source: gst-plugins-%{version}.tar.gz
#Source2: patch-tarball.sh
#Source3: removed-sources.txt
Source4: http://clanlib.org/download/files/Hermes-%{hermes_version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-root
Requires: glib2 >= %_glib2
BuildRequires: glib2-devel >= %_glib2
Requires: gstreamer >= %{version}
PreReq: /usr/bin/gst-register
PreReq: GConf2
PreReq: /usr/bin/gconftool-2
BuildRequires: gstreamer-devel >= %{version} 
BuildRequires: arts-devel
BuildRequires: audiofile-devel >= 0.2.1
BuildRequires: cdparanoia-devel >= alpha9.7
BuildRequires: esound-devel >= 0.2.8
BuildRequires: gnome-vfs2-devel >= 2.1.3
BuildRequires: libjpeg-devel
BuildRequires: libmad
BuildRequires: mikmod
BuildRequires: gstreamer-devel >= 0.5.2-8
BuildRequires: SDL-devel >= 1.2.0
BuildRequires: libogg-devel >= 1.0
BuildRequires: libvorbis-devel >= 0:1.0beta4
BuildRequires: xmms-devel
BuildRequires: autoconf automake libtool
BuildRequires: a52dec-devel libghttp-devel libraw1394-devel
Patch1: gst-plugins-0.4.2-pthread-includes.patch
#Patch2: gstreamer-plugins-0.5.0-libdirfix.patch
#Patch3: gstreamer-plugins-0.6.0-fPIC.patch
#Patch4: gstreamer-plugins-0.6.0-noffmpeg.patch

%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.  Its plugin-based architecture means that new data
types or processing capabilities can be added simply by installing new
plugins.

%package devel
Summary: Libraries/include files for GStreamer plugins.
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: gstreamer-devel >= %{version}

%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 -q -n gst-plugins-%{version} -a 4

%patch1 -p1 -b .pthread-includes
#%patch2 -p1 -b .libdirfix
#%patch3 -p1 -b .fPIC
#%patch4 -p1 -b .noffmpeg

for docfile in AUTHORS COPYING README ; do
	cp Hermes-%{hermes_version}/${docfile} ${docfile}.Hermes
done

%build
hermes_top=`pwd`/Hermes-install

pushd Hermes-%{hermes_version}
aclocal
libtoolize --force --copy
automake
autoconf
CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS
./configure --disable-shared --enable-static \
	--prefix=${hermes_top} \
	--includedir=${hermes_top}/include \
	--libdir=${hermes_top}/%{_lib}
make all install
popd

aclocal -I m4  -I common/m4
libtoolize --force --copy
automake
autoconf

CFLAGS="$RPM_OPT_FLAGS -I${hermes_top}/include"; export CFLAGS
CPPFLAGS="-I${hermes_top}/include"; export CPPFLAGS
LDFLAGS="-L${hermes_top}/%{_lib}"; export LDFLAGS

%configure --disable-vorbistest \
%ifnarch %{ix86}
  --disable-qcam \
%else
  --enable-qcam \
%endif
  --enable-DEBUG --disable-tests --disable-examples

make ##%{?_smp_mflags}

#cp %{SOURCE3} .

%install
rm -rf $RPM_BUILD_ROOT
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
%makeinstall
unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL

rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{major}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{major}/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_includedir}/gstreamer-%{major}/gst/media-info/media-info.h
rm -f $RPM_BUILD_ROOT%{_libdir}/libgstmedia-info*.so*

%clean
rm -rf $RPM_BUILD_ROOT

%post
/sbin/ldconfig
env DISPLAY= /usr/bin/gst-register >/dev/null 2>&1
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
SCHEMAS="gstreamer.schemas"
for S in $SCHEMAS; do 
  gconftool-2 --makefile-install-rule /etc/gconf/schemas/$S > /dev/null
done

%postun
/sbin/ldconfig
env DISPLAY= /usr/bin/gst-register >/dev/null 2>&1

%files
%defattr(-, root, root)
%doc AUTHORS COPYING README
%doc AUTHORS.Hermes COPYING.Hermes README.Hermes
%{_sysconfdir}/gconf/schemas/gstreamer.schemas
%{_bindir}/*
%{_libdir}/*so.*
%dir %{_libdir}/gstreamer-%{major}
%ifarch %{ix86} ia64 ppc ppc64 x86_64
%{_libdir}/gstreamer-%{major}/libgst1394.*
%endif
%{_libdir}/gstreamer-%{major}/libgstac3parse.*
%{_libdir}/gstreamer-%{major}/libgstadder.*
%{_libdir}/gstreamer-%{major}/libgstalaw.*
%{_libdir}/gstreamer-%{major}/libgstarts.*
%{_libdir}/gstreamer-%{major}/libgstartsdsink.*
%{_libdir}/gstreamer-%{major}/libgstaudio.*
%{_libdir}/gstreamer-%{major}/libgstaudiofile.*
%{_libdir}/gstreamer-%{major}/libgstaudioscale.*
%{_libdir}/gstreamer-%{major}/libgstauparse.*
%{_libdir}/gstreamer-%{major}/libgstavidemux.*
%{_libdir}/gstreamer-%{major}/libgstavimux.*
%{_libdir}/gstreamer-%{major}/libgstcdparanoia.*
%{_libdir}/gstreamer-%{major}/libgstcdplayer.*
%{_libdir}/gstreamer-%{major}/libgstcdxaparse.*
%{_libdir}/gstreamer-%{major}/libgstchart.*
%{_libdir}/gstreamer-%{major}/libgstcolorspace.*
%{_libdir}/gstreamer-%{major}/libgstcutter.*
%{_libdir}/gstreamer-%{major}/libgstdeinterlace.*
%{_libdir}/gstreamer-%{major}/libgsteffectv.*
%{_libdir}/gstreamer-%{major}/libgstesdmon.*
%{_libdir}/gstreamer-%{major}/libgstesdsink.*
%{_libdir}/gstreamer-%{major}/libgstfestival.*
%{_libdir}/gstreamer-%{major}/libgstffmpeg.*
%{_libdir}/gstreamer-%{major}/libgstffmpegall.*
%{_libdir}/gstreamer-%{major}/libgstfilter.*
%{_libdir}/gstreamer-%{major}/libgstflxdec.*
%{_libdir}/gstreamer-%{major}/libgstgnomevfssink.*
%{_libdir}/gstreamer-%{major}/libgstgnomevfssrc.*
%{_libdir}/gstreamer-%{major}/libgstgoom.*
%{_libdir}/gstreamer-%{major}/libgsthttpsrc.*
%{_libdir}/gstreamer-%{major}/libgstidct.*
%{_libdir}/gstreamer-%{major}/libgstintfloat.*
%{_libdir}/gstreamer-%{major}/libgstjpeg.*
%{_libdir}/gstreamer-%{major}/libgstlevel.*
%{_libdir}/gstreamer-%{major}/libgstlame.*
%{_libdir}/gstreamer-%{major}/libgstmad.*
%{_libdir}/gstreamer-%{major}/libgstmedian.*
%{_libdir}/gstreamer-%{major}/libgstmikmod.*
%{_libdir}/gstreamer-%{major}/libgstmodplug.*
%{_libdir}/gstreamer-%{major}/libgstmono2stereo.*
%{_libdir}/gstreamer-%{major}/libgstmonoscope.*
%{_libdir}/gstreamer-%{major}/libgstmp1videoparse.so
%{_libdir}/gstreamer-%{major}/libgstmp3types.so
%{_libdir}/gstreamer-%{major}/libgstmpeg1encoder.so
%{_libdir}/gstreamer-%{major}/libgstmpeg1systemencode.so
%{_libdir}/gstreamer-%{major}/libgstmpeg1types.so
%{_libdir}/gstreamer-%{major}/libgstmpeg2enc.so
%{_libdir}/gstreamer-%{major}/libgstmpeg2subt.so
%{_libdir}/gstreamer-%{major}/libgstmpeg2types.so
%{_libdir}/gstreamer-%{major}/libgstmpegaudio.so
%{_libdir}/gstreamer-%{major}/libgstmpegaudioparse.so
%{_libdir}/gstreamer-%{major}/libgstmpegstream.so
%{_libdir}/gstreamer-%{major}/libgstmulaw.*
%{_libdir}/gstreamer-%{major}/libgstoneton.*
%{_libdir}/gstreamer-%{major}/libgstossaudio.*
%{_libdir}/gstreamer-%{major}/libgstpassthrough.*
%{_libdir}/gstreamer-%{major}/libgstplayondemand.*
%{_libdir}/gstreamer-%{major}/libgstpng.*
%ifarch %{ix86}
%{_libdir}/gstreamer-%{major}/libgstqcam.*
%endif
%{_libdir}/gstreamer-%{major}/libgstqtdemux.*
%{_libdir}/gstreamer-%{major}/libgstresample.*
%{_libdir}/gstreamer-%{major}/libgstriff.*
%{_libdir}/gstreamer-%{major}/libgstrtjpeg.*
%{_libdir}/gstreamer-%{major}/libgstsdlvideosink.*
%{_libdir}/gstreamer-%{major}/libgstsilence.*
%{_libdir}/gstreamer-%{major}/libgstsinesrc.*
%{_libdir}/gstreamer-%{major}/libgstsmooth.*
%{_libdir}/gstreamer-%{major}/libgstsmpte.*
%{_libdir}/gstreamer-%{major}/libgstsnapshot.*
%{_libdir}/gstreamer-%{major}/libgstspectrum.*
%{_libdir}/gstreamer-%{major}/libgstspeed.*
%{_libdir}/gstreamer-%{major}/libgststereo.*
%{_libdir}/gstreamer-%{major}/libgststereo2mono.*
%{_libdir}/gstreamer-%{major}/libgststereosplit.*
%{_libdir}/gstreamer-%{major}/libgstsynaesthesia.*
%{_libdir}/gstreamer-%{major}/libgstudp.*
%{_libdir}/gstreamer-%{major}/libgstv4lelement.*
%{_libdir}/gstreamer-%{major}/libgstv4lmjpegsink.*
%{_libdir}/gstreamer-%{major}/libgstv4lmjpegsrc.*
%{_libdir}/gstreamer-%{major}/libgstv4lsrc.*
%{_libdir}/gstreamer-%{major}/libgstvbidec.*
%{_libdir}/gstreamer-%{major}/libgstvcdsrc.*
%{_libdir}/gstreamer-%{major}/libgstvideo.*
%{_libdir}/gstreamer-%{major}/libgstvideocrop.*
%{_libdir}/gstreamer-%{major}/libgstvideoscale.*
%{_libdir}/gstreamer-%{major}/libgstvideosink.*
%{_libdir}/gstreamer-%{major}/libgstvideotestsrc.*
%{_libdir}/gstreamer-%{major}/libgstvolenv.*
%{_libdir}/gstreamer-%{major}/libgstvolume.*
%{_libdir}/gstreamer-%{major}/libgstvorbis.*
%{_libdir}/gstreamer-%{major}/libgstvumeter.*
%{_libdir}/gstreamer-%{major}/libgstwavenc.*
%{_libdir}/gstreamer-%{major}/libgstwavparse.*
%{_libdir}/gstreamer-%{major}/libgstxvideosink.*
%{_libdir}/gstreamer-%{major}/libgsty4menc.*
%{_libdir}/gstreamer-%{major}/libmixmatrix.*
%{_libdir}/gstreamer-%{major}/*
%{_mandir}/man*/*

%files devel
%defattr(-, root, root)
%{_includedir}/gstreamer-%{major}/gst/*
%{_libdir}/pkgconfig/*.pc
%{_libdir}/*so

%changelog
* Sat Oct  4 2003 Marc Deslauriers <marcdeslauriers at videotron.ca> 0.6.3-3.md.2
- Put back mpeg support in

* Wed Sep 17 2003 Bill Nottingham <notting at redhat.com> 0.6.3-3
- more cleanups

* Fri Sep 12 2003 Nalin Dahyabhai <nalin at redhat.com> 0.6.3-2
- build gstcolorspace against a static bundled libHermes, which might want
  to move into its own package at some point
- explicitly list the plugins which are built in the files manifest so that
  we get errors if there are some which don't get built or get added between
  releases
- disable qcam on amd64 -- configure disables it on non-i386 arches
- limit 1394 support to amd64,ia64,ppc,ppc64,x86

* Thu Sep 11 2003 Alexander Larsson <alexl at redhat.com> 0.6.3-1
- Update to 0.6.3 (gnome 2.4 final)
- remove all mpeg plugins

* Tue Aug 19 2003 Alexander Larsson <alexl at redhat.com> 0.6.2-1
- 0.6.2

* Wed Jun 04 2003 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Wed May 21 2003 Jeremy Katz <katzj at redhat.com> 0.6.0-7
- use automake 1.6

* Mon Feb 17 2003 Florian La Roche <Florian.LaRoche at redhat.de>
- rebuild to get sane s390x requires

* Tue Feb 11 2003 Jonathan Blandford <jrb at redhat.com> 0.6.0-4
- unset the DISPLAY when running gst-register

* Sat Feb  8 2003 Bill Nottingham <notting at redhat.com> 0.6.0-4
- move libgst*.so.X.X to main package; things require them (#80518, #83805)
- gstreamer-plugins-devel requires gstreamer-devel (#82506)

* Tue Feb  4 2003 Jonathan Blandford <jrb at redhat.com> 0.6.0-3
- remove ffmpeg for now.  It doesn't build -fPIC

* Tue Feb 04 2003 Phil Knirsch <pknirsch at redhat.com> 0.6.0-2
- Bump release and rebuild.

* Thu Jan 30 2003 Jonathan Blandford <jrb at redhat.com>
- new version.  Requires new gstreamer.

* Wed Jan 22 2003 Tim Powers <timp at redhat.com>
- rebuilt

* Wed Jan 15 2003 Matt Wilson <msw at redhat.com> 0.5.0-18
- disable qcam on all non x86 and x86_64 platforms

* Mon Dec 30 2002 Florian La Roche <Florian.LaRoche at redhat.de>
- fix spec file to better remove libgstmedia-info
- exclude for mainframe

* Thu Dec 19 2002 Elliot Lee <sopwith at redhat.com> 0.5.0-15
- Include ia64
- Add BuildRequires: autoconf automake

* Wed Dec 18 2002 Jonathan Blandford <jrb at redhat.com>
- rebuild

* Tue Dec 17 2002 Jonathan Blandford <jrb at redhat.com> 0.5.0-12
- rebuild

* Mon Dec 16 2002 Jonathan Blandford <jrb at redhat.com> 0.5.0-10
- rebuild
- disable tests

* Mon Dec 16 2002 Tim Powers <timp at redhat.com> 0.5.0-9
- rebuild

* Wed Dec 11 2002 Jonathan Blandford <jrb at redhat.com> 0.5.0-7
- fix libdir for ia64.

* Wed Dec 11 2002 Jonathan Blandford <jrb at redhat.com> 0.5.0-3
- ExcludeArch: ia64.   Random assembler errors that I have no hope of fixing
- Add devel package

* Wed Dec 11 2002 Jonathan Blandford <jrb at redhat.com> 0.5.0-1
- 0.5.0
- apparently, festival-devel isn't needed.

* Tue Dec 10 2002 Tim Powers <timp at redhat.com> 0.4.2-3
- rebuild to fix broken dep on libgstreamer-0.4.2.so.0

* Tue Dec  3 2002 Havoc Pennington <hp at redhat.com>
- excludearch the arches that can't build gstreamer cothreads
- well it isn't really SMP-safe
- add patch for including pthread.h when required
- prereq gconftool
- fix typo that broke schema installation in post

* Mon Dec  2 2002 Havoc Pennington <hp at redhat.com>
- initial "official" import
- munge tarball for legal cleanliness

* Thu Nov  7 2002 Jeremy Katz <katzj at redhat.com>
- 0.4.2

* Mon Sep 23 2002 Jeremy Katz <katzj at redhat.com>
- 0.4.1
- install the gconf schema
- use %%configure

* Sun Sep 22 2002 Jeremy Katz <katzj at redhat.com>
- update to 0.4.0
- give explicit vorbis include path, don't run vorbis test

* Sun Aug 11 2002 Jeremy Katz <katzj at redhat.com>
- collapse into one package to preserve some sanity

* Wed Mar 13 2002 Thomas Vander Stichele <thomas at apestaart.org>
- added more BuildRequires and Requires
- rearranged some plugins
- added changelog ;)


More information about the users mailing list