gst-plugins-base.spec.in 9.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
# This SPEC file is created in a way that tries to solve various demands. 
# First of all it tries to create packages that will easily replace both the 
# Fedora Core default packages and also replace the extra rpms provided 
# by Fedora.us or freshrpms.net.
# At the same time they will only include plugins for which you have the needed
# packages installed at the time you run autogen.sh. This means that if you
# are not careful you might end up with less plugins than what the standard 
# packages provide, which in turn means things might stop working for you. 
# So make sure you have an idea of what you do before creating RPMS using this 
# SPEC file.

%define         register        %{_bindir}/gst-register-%{majorminor} > /dev/null 2>&1 || :
%define         gst_minver      0.7.6
%define         gstp_minver     0.7.6

Name: 		gstreamer-plugins-base
Version: 	@VERSION@
Release: 	@GST_PLUGINS_VERSION_RELEASE@
Summary: 	GStreamer Streaming-media framework plug-ins.

%define 	majorminor	@GST_MAJORMINOR@

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

%define         _glib2          @GLIB2_REQ@

Requires:       glib2 >= %_glib2
BuildRequires:  glib2-devel >= %_glib2
34 35
Requires: 	gstreamer09 >= %{gst_minver}
BuildRequires: 	gstreamer09-devel >= %{gst_minver}
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
BuildRequires:  gcc-c++
BuildRequires:  XFree86-devel

@USE_GCONF_TRUE@Requires: 	GConf2
@USE_GCONF_TRUE@BuildRequires: 	GConf2-devel
@USE_GNOME_VFS_TRUE@Requires:      gnome-vfs2 > 1.9.4.00
@USE_GNOME_VFS_TRUE@BuildRequires: gnome-vfs2-devel > 1.9.4.00
@USE_VORBIS_TRUE@Requires:      libogg >= 1.0
@USE_VORBIS_TRUE@Requires:      libvorbis >= 1.0
@USE_VORBIS_TRUE@BuildRequires: libogg-devel >= 1.0
@USE_VORBIS_TRUE@BuildRequires: libvorbis-devel >= 1.0
@USE_XVIDEO_TRUE@Requires: 	XFree86-libs
@USE_XVIDEO_TRUE@BuildRequires: XFree86-devel

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

%prep
%setup -n gst-plugins-base-%{version}
%build
%configure \
  --with-gdk-pixbuf-loader-dir=$RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.2.0/loaders \
  --enable-debug \
  --enable-DEBUG 

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

export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
%makeinstall
unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
                                                                                
# 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
rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstgdkpixbuf.so

%clean
rm -rf $RPM_BUILD_ROOT

%post
%{register}
%postun
%{register}

%files
%defattr(-, root, root)
%doc AUTHORS COPYING README REQUIREMENTS

# helper programs
%{_bindir}/gst-launch-ext-%{majorminor}
%{_bindir}/gst-visualise-%{majorminor}
%{_mandir}/man1/gst-launch-ext-%{majorminor}.*
%{_mandir}/man1/gst-visualise-%{majorminor}*
%{_datadir}/locale
# schema files
@USE_GCONF_TRUE@%{_sysconfdir}/gconf/schemas/gstreamer-%{majorminor}.schemas

# libraries
%{_libdir}/libgstinterfaces-%{majorminor}.so.*
@USE_GCONF_TRUE@%{_libdir}/libgstgconf-%{majorminor}.so.*
%{_libdir}/libgstaudio-0.9.so.*
%{_libdir}/libgstaudiofilter-0.9.so.*
%{_libdir}/libgstriff-0.9.so.*
%{_libdir}/libgsttagedit-0.9.so.*
%{_libdir}/libgstvideo-0.9.so.*

# non-core plugins without external dependencies
%{_libdir}/gstreamer-%{majorminor}/libgstadder.so
%{_libdir}/gstreamer-%{majorminor}/libgstaudioconvert.so
%{_libdir}/gstreamer-%{majorminor}/libgstffmpegcolorspace.so
%{_libdir}/gstreamer-%{majorminor}/libgstsinesrc.so
%{_libdir}/gstreamer-%{majorminor}/libgstdecodebin.so
%{_libdir}/gstreamer-%{majorminor}/libgstplaybin.so
%{_libdir}/gstreamer-%{majorminor}/libgsttypefindfunctions.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideotestsrc.so
121 122
%{_libdir}/gstreamer-%{majorminor}/libgstaudiorate.so
%{_libdir}/gstreamer-%{majorminor}/libgstsubparse.so
123 124 125 126 127 128 129 130 131 132 133
@USE_THEORA_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgsttheora.so
@USE_GNOME_VFS_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstgnomevfs.so
@USE_VORBIS_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstvorbis.so
@USE_VORBIS_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstogg.so
@USE_XVIDEO_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstximagesink.so
@USE_XVIDEO_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstxvimagesink.so

                                                                                
%package -n gstreamer-plugins-base-devel
Summary: 	GStreamer Plugin Library Headers.
Group: 		Development/Libraries
134
Requires: 	gstreamer-plugins-base = %{version}
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

%description -n gstreamer-plugins-base-devel
GStreamer support libraries header files.

%files -n gstreamer-plugins-base-devel
%defattr(-, root, root)
# plugin helper library headers
%{_includedir}/gstreamer-%{majorminor}/gst/audio/audio.h
%{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudiofilter.h
%{_includedir}/gstreamer-%{majorminor}/gst/audio/multichannel.h
%{_includedir}/gstreamer-%{majorminor}/gst/floatcast/floatcast.h
%{_includedir}/gstreamer-%{majorminor}/gst/riff/riff-ids.h
%{_includedir}/gstreamer-%{majorminor}/gst/riff/riff-media.h
%{_includedir}/gstreamer-%{majorminor}/gst/riff/riff-read.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/videosink.h
# plugin interface headers
%{_includedir}/gstreamer-%{majorminor}/gst/mixer/mixer.h
%{_includedir}/gstreamer-%{majorminor}/gst/mixer/mixertrack.h
%{_includedir}/gstreamer-%{majorminor}/gst/mixer/mixer-enumtypes.h
%{_includedir}/gstreamer-%{majorminor}/gst/navigation/navigation.h
%{_includedir}/gstreamer-%{majorminor}/gst/colorbalance/colorbalance.h
%{_includedir}/gstreamer-%{majorminor}/gst/colorbalance/colorbalancechannel.h
%{_includedir}/gstreamer-%{majorminor}/gst/colorbalance/colorbalance-enumtypes.h
%{_includedir}/gstreamer-%{majorminor}/gst/propertyprobe/propertyprobe.h
%{_includedir}/gstreamer-%{majorminor}/gst/tuner/tuner.h
%{_includedir}/gstreamer-%{majorminor}/gst/tuner/tunerchannel.h
%{_includedir}/gstreamer-%{majorminor}/gst/tuner/tunernorm.h
%{_includedir}/gstreamer-%{majorminor}/gst/tuner/tuner-enumtypes.h
%{_includedir}/gstreamer-%{majorminor}/gst/xoverlay/xoverlay.h
%{_includedir}/gstreamer-%{majorminor}/gst/mixer/mixeroptions.h
%{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudioclock.h
%{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudiosink.h
%{_includedir}/gstreamer-%{majorminor}/gst/audio/gstbaseaudiosink.h
%{_includedir}/gstreamer-%{majorminor}/gst/audio/gstringbuffer.h
%{_libdir}/libgstaudio-0.9.so
%{_libdir}/libgstaudiofilter-0.9.so
%{_libdir}/libgstriff-0.9.so
%{_libdir}/libgsttagedit-0.9.so
%{_libdir}/libgstvideo-0.9.so


# library headers
@USE_GCONF_TRUE@%{_includedir}/gstreamer-%{majorminor}/gst/gconf/gconf.h
%{_includedir}/gstreamer-%{majorminor}/gst/tag/tag.h
# pkg-config files
@USE_GCONF_TRUE@%{_libdir}/pkgconfig/gstreamer-gconf-%{majorminor}.pc
%{_libdir}/pkgconfig/gstreamer-interfaces-%{majorminor}.pc
%{_libdir}/pkgconfig/gstreamer-libs-%{majorminor}.pc
%{_libdir}/pkgconfig/gstreamer-plugins-%{majorminor}.pc
# .so files
@USE_GCONF_TRUE@%{_libdir}/libgstgconf-%{majorminor}.so
%{_libdir}/libgstinterfaces-%{majorminor}.so
@USE_ALSA_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstalsa.so


# Here are packages not in the base plugins package but not dependant
# on an external lib

# Here are all the packages depending on external libs #

### VIDEO 4 LINUX 2 ###
# @USE_GST_V4L2_TRUE@%package -n gstreamer-plugins-v4l2
# @USE_GST_V4L2_TRUE@Summary:       GStreamer Video for Linux 2 plug-in.
# @USE_GST_V4L2_TRUE@Group:         Applications/Multimedia
200
# @USE_GST_V4L2_TRUE@Requires:      gstreamer-plugins09 = %{version}
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
# @USE_GST_V4L2_TRUE@BuildRequires: glibc-devel
# @USE_GST_V4L2_TRUE@Obsoletes:	  gstreamer-v4l2
# @USE_GST_V4L2_TRUE@
# @USE_GST_V4L2_TRUE@%description -n gstreamer-plugins-v4l2
# @USE_GST_V4L2_TRUE@Plug-in for accessing Video for Linux devices.
# @USE_GST_V4L2_TRUE@
# @USE_GST_V4L2_TRUE@%files -n gstreamer-plugins-v4l2
# @USE_GST_V4L2_TRUE@%defattr(-, root, root)
# @USE_GST_V4L2_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstvideo4linux2.so
# @USE_GST_V4L2_TRUE@
# @USE_GST_V4L2_TRUE@%post -n gstreamer-plugins-v4l2
# @USE_GST_V4L2_TRUE@%{register}
# @USE_GST_V4L2_TRUE@
# @USE_GST_V4L2_TRUE@%postun -n gstreamer-plugins-v4l2
# @USE_GST_V4L2_TRUE@%{register}

%changelog
218 219 220
* Fri May 6 2005 Christian Schaller <christian at fluendo dot com>
- Added libgstaudiorate and libgstsubparse to spec file

221 222
* Thu May 5 2005 Christian Schaller <christian at fluendo dot com>
- first attempt at spec file for gst-plugins-base