gst-plugins-base.spec.in 9.73 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
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
Christian Schaller's avatar
Christian Schaller committed
86 87
@USE_GCONF_TRUE@export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` 
@USE_GCONF_TRUE@gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/gstreamer-%{majorminor}.schemas > /dev/null
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
%{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.*
Christian Schaller's avatar
Christian Schaller committed
107 108 109 110 111 112 113
%{_libdir}/libgstaudio-%{majorminor}.so.*
%{_libdir}/libgstaudiofilter-%{majorminor}.so.*
%{_libdir}/libgstriff-%{majorminor}.so.*
%{_libdir}/libgsttagedit-%{majorminor}.so.*
%{_libdir}/libgstvideo-%{majorminor}.so.*
%{_libdir}/libgstnet-%{majorminor}.so.*
%{_libdir}/libgstrtp-%{majorminor}.so.*
114 115 116 117 118 119 120 121 122 123

# 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
124 125
%{_libdir}/gstreamer-%{majorminor}/libgstaudiorate.so
%{_libdir}/gstreamer-%{majorminor}/libgstsubparse.so
126 127
%{_libdir}/gstreamer-%{majorminor}/libgstvolume.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideorate.so
128
%{_libdir}/gstreamer-%{majorminor}/libgstvideoscale.so
Christian Schaller's avatar
Christian Schaller committed
129
%{_libdir}/gstreamer-%{majorminor}/libgsttcp.so
Christian Schaller's avatar
Christian Schaller committed
130
%{_libdir}/gstreamer-%{majorminor}/libgstvideo4linux.so
131

132 133 134 135
@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
136
@USE_XVIDEO_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstximage.so
137 138 139 140 141 142
@USE_XVIDEO_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstxvimagesink.so

                                                                                
%package -n gstreamer-plugins-base-devel
Summary: 	GStreamer Plugin Library Headers.
Group: 		Development/Libraries
143
Requires: 	gstreamer-plugins-base = %{version}
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159

%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
160 161 162 163 164 165 166 167 168 169 170 171
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/colorbalance.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/colorbalancechannel.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/interfaces-enumtypes.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/mixer.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/mixeroptions.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/mixertrack.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/navigation.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/propertyprobe.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/tuner.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/tunerchannel.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/tunernorm.h
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/xoverlay.h
Christian Schaller's avatar
Christian Schaller committed
172 173
%{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudiosrc.h
%{_includedir}/gstreamer-%{majorminor}/gst/audio/gstbaseaudiosrc.h
Christian Schaller's avatar
Christian Schaller committed
174 175 176
%{_includedir}/gstreamer-%{majorminor}/gst/audio/multichannel-enumtypes.h
%{_includedir}/gstreamer-%{majorminor}/gst/rtp/gstbasertpdepayload.h
%{_includedir}/gstreamer-%{majorminor}/gst/rtp/gstrtpbuffer.h
177

178 179 180 181 182
# plugin interface headers
%{_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
183 184 185 186 187 188 189
%{_includedir}/gstreamer-%{majorminor}/gst/net/gstnetbuffer.h
%{_libdir}/libgstaudio-%{majorminor}.so
%{_libdir}/libgstaudiofilter-%{majorminor}.so
%{_libdir}/libgstriff-%{majorminor}.so
%{_libdir}/libgsttagedit-%{majorminor}.so
%{_libdir}/libgstvideo-%{majorminor}.so
%{_libdir}/libgstnet-%{majorminor}.so
Christian Schaller's avatar
Christian Schaller committed
190
%{_libdir}/libgstrtp-%{majorminor}.so
191 192 193 194 195


# library headers
%{_includedir}/gstreamer-%{majorminor}/gst/tag/tag.h
# pkg-config files
Christian Schaller's avatar
Christian Schaller committed
196
%{_libdir}/pkgconfig/gstreamer-plugins-base-%{majorminor}.pc
197 198 199 200 201 202 203 204 205 206 207 208 209 210
# .so files
%{_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
211
# @USE_GST_V4L2_TRUE@Requires:      gstreamer-plugins09 = %{version}
212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
# @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
229 230 231
* Fri May 6 2005 Christian Schaller <christian at fluendo dot com>
- Added libgstaudiorate and libgstsubparse to spec file

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