9160633688e6c7287b1e780c368b238d6c23236d
[platform/upstream/gstreamer.git] / gst-plugins-base.spec.in
1 # This SPEC file is created in a way that tries to solve various demands. 
2 # First of all it tries to create packages that will easily replace both the 
3 # Fedora Core default packages and also replace the extra rpms provided 
4 # by Fedora.us or freshrpms.net.
5 # At the same time they will only include plugins for which you have the needed
6 # packages installed at the time you run autogen.sh. This means that if you
7 # are not careful you might end up with less plugins than what the standard 
8 # packages provide, which in turn means things might stop working for you. 
9 # So make sure you have an idea of what you do before creating RPMS using this 
10 # SPEC file.
11
12 %define         register        %{_bindir}/gst-register-%{majorminor} > /dev/null 2>&1 || :
13 %define         gst_minver      0.7.6
14 %define         gstp_minver     0.7.6
15
16 Name:           gstreamer-plugins-base
17 Version:        @VERSION@
18 Release:        @GST_PLUGINS_VERSION_RELEASE@
19 Summary:        GStreamer Streaming-media framework plug-ins.
20
21 %define         majorminor      @GST_MAJORMINOR@
22
23 Group:          Applications/Multimedia
24 License:        LGPL
25 URL:            http://gstreamer.net/
26 Vendor:         GStreamer Backpackers Team <package@gstreamer.net>
27 Source:         http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.gz
28 BuildRoot:      %{_tmppath}/%{name}-%{version}-root
29
30 %define         _glib2          @GLIB2_REQ@
31
32 Requires:       glib2 >= %_glib2
33 BuildRequires:  glib2-devel >= %_glib2
34 Requires:       gstreamer09 >= %{gst_minver}
35 BuildRequires:  gstreamer09-devel >= %{gst_minver}
36 BuildRequires:  gcc-c++
37 BuildRequires:  XFree86-devel
38
39 @USE_GCONF_TRUE@Requires:       GConf2
40 @USE_GCONF_TRUE@BuildRequires:  GConf2-devel
41 @USE_GNOME_VFS_TRUE@Requires:      gnome-vfs2 > 1.9.4.00
42 @USE_GNOME_VFS_TRUE@BuildRequires: gnome-vfs2-devel > 1.9.4.00
43 @USE_VORBIS_TRUE@Requires:      libogg >= 1.0
44 @USE_VORBIS_TRUE@Requires:      libvorbis >= 1.0
45 @USE_VORBIS_TRUE@BuildRequires: libogg-devel >= 1.0
46 @USE_VORBIS_TRUE@BuildRequires: libvorbis-devel >= 1.0
47 @USE_XVIDEO_TRUE@Requires:      XFree86-libs
48 @USE_XVIDEO_TRUE@BuildRequires: XFree86-devel
49
50 %description
51 GStreamer is a streaming-media framework, based on graphs of filters which
52 operate on media data. Applications using this library can do anything
53 from real-time sound processing to playing videos, and just about anything
54 else media-related.  Its plugin-based architecture means that new data
55 types or processing capabilities can be added simply by installing new
56 plug-ins.
57
58 %prep
59 %setup -n gst-plugins-base-%{version}
60 %build
61 %configure \
62   --with-gdk-pixbuf-loader-dir=$RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.2.0/loaders \
63   --enable-debug \
64   --enable-DEBUG 
65
66 make %{?_smp_mflags}
67                                                                                 
68 %install
69 rm -rf $RPM_BUILD_ROOT
70
71 export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
72 %makeinstall
73 unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
74                                                                                 
75 # Clean out files that should not be part of the rpm.
76 rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/*.la
77 rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/*.a
78 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
79 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
80 rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstgdkpixbuf.so
81
82 %clean
83 rm -rf $RPM_BUILD_ROOT
84
85 %post
86 @USE_GCONF_TRUE@export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` 
87 @USE_GCONF_TRUE@gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/gstreamer-%{majorminor}.schemas > /dev/null
88 %{register}
89 %postun
90 %{register}
91
92 %files
93 %defattr(-, root, root)
94 %doc AUTHORS COPYING README REQUIREMENTS
95
96 # helper programs
97 %{_bindir}/gst-launch-ext-%{majorminor}
98 %{_bindir}/gst-visualise-%{majorminor}
99 %{_mandir}/man1/gst-launch-ext-%{majorminor}.*
100 %{_mandir}/man1/gst-visualise-%{majorminor}*
101 %{_datadir}/locale
102 # schema files
103 @USE_GCONF_TRUE@%{_sysconfdir}/gconf/schemas/gstreamer-%{majorminor}.schemas
104
105 # libraries
106 %{_libdir}/libgstinterfaces-%{majorminor}.so.*
107 %{_libdir}/libgstaudio-%{majorminor}.so.*
108 %{_libdir}/libgstaudiofilter-%{majorminor}.so.*
109 %{_libdir}/libgstriff-%{majorminor}.so.*
110 %{_libdir}/libgsttagedit-%{majorminor}.so.*
111 %{_libdir}/libgstvideo-%{majorminor}.so.*
112 %{_libdir}/libgstnet-%{majorminor}.so.*
113 %{_libdir}/libgstrtp-%{majorminor}.so.*
114
115 # non-core plugins without external dependencies
116 %{_libdir}/gstreamer-%{majorminor}/libgstadder.so
117 %{_libdir}/gstreamer-%{majorminor}/libgstaudioconvert.so
118 %{_libdir}/gstreamer-%{majorminor}/libgstffmpegcolorspace.so
119 %{_libdir}/gstreamer-%{majorminor}/libgstsinesrc.so
120 %{_libdir}/gstreamer-%{majorminor}/libgstdecodebin.so
121 %{_libdir}/gstreamer-%{majorminor}/libgstplaybin.so
122 %{_libdir}/gstreamer-%{majorminor}/libgsttypefindfunctions.so
123 %{_libdir}/gstreamer-%{majorminor}/libgstvideotestsrc.so
124 %{_libdir}/gstreamer-%{majorminor}/libgstaudiorate.so
125 %{_libdir}/gstreamer-%{majorminor}/libgstsubparse.so
126 %{_libdir}/gstreamer-%{majorminor}/libgstvolume.so
127 %{_libdir}/gstreamer-%{majorminor}/libgstvideorate.so
128 %{_libdir}/gstreamer-%{majorminor}/libgstvideoscale.so
129 %{_libdir}/gstreamer-%{majorminor}/libgsttcp.so
130 %{_libdir}/gstreamer-%{majorminor}/libgstvideo4linux.so
131
132 @USE_THEORA_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgsttheora.so
133 @USE_GNOME_VFS_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstgnomevfs.so
134 @USE_VORBIS_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstvorbis.so
135 @USE_VORBIS_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstogg.so
136 @USE_XVIDEO_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstximage.so
137 @USE_XVIDEO_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstxvimagesink.so
138
139                                                                                 
140 %package -n gstreamer-plugins-base-devel
141 Summary:        GStreamer Plugin Library Headers.
142 Group:          Development/Libraries
143 Requires:       gstreamer-plugins-base = %{version}
144
145 %description -n gstreamer-plugins-base-devel
146 GStreamer support libraries header files.
147
148 %files -n gstreamer-plugins-base-devel
149 %defattr(-, root, root)
150 # plugin helper library headers
151 %{_includedir}/gstreamer-%{majorminor}/gst/audio/audio.h
152 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudiofilter.h
153 %{_includedir}/gstreamer-%{majorminor}/gst/audio/multichannel.h
154 %{_includedir}/gstreamer-%{majorminor}/gst/floatcast/floatcast.h
155 %{_includedir}/gstreamer-%{majorminor}/gst/riff/riff-ids.h
156 %{_includedir}/gstreamer-%{majorminor}/gst/riff/riff-media.h
157 %{_includedir}/gstreamer-%{majorminor}/gst/riff/riff-read.h
158 %{_includedir}/gstreamer-%{majorminor}/gst/video/video.h
159 %{_includedir}/gstreamer-%{majorminor}/gst/video/videosink.h
160 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/colorbalance.h
161 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/colorbalancechannel.h
162 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/interfaces-enumtypes.h
163 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/mixer.h
164 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/mixeroptions.h
165 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/mixertrack.h
166 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/navigation.h
167 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/propertyprobe.h
168 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/tuner.h
169 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/tunerchannel.h
170 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/tunernorm.h
171 %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/xoverlay.h
172 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudiosrc.h
173 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstbaseaudiosrc.h
174 %{_includedir}/gstreamer-%{majorminor}/gst/audio/multichannel-enumtypes.h
175 %{_includedir}/gstreamer-%{majorminor}/gst/rtp/gstbasertpdepayload.h
176 %{_includedir}/gstreamer-%{majorminor}/gst/rtp/gstrtpbuffer.h
177
178 # plugin interface headers
179 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudioclock.h
180 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudiosink.h
181 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstbaseaudiosink.h
182 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstringbuffer.h
183 %{_includedir}/gstreamer-%{majorminor}/gst/net/gstnetbuffer.h
184 %{_libdir}/libgstaudio-%{majorminor}.so
185 %{_libdir}/libgstaudiofilter-%{majorminor}.so
186 %{_libdir}/libgstriff-%{majorminor}.so
187 %{_libdir}/libgsttagedit-%{majorminor}.so
188 %{_libdir}/libgstvideo-%{majorminor}.so
189 %{_libdir}/libgstnet-%{majorminor}.so
190 %{_libdir}/libgstrtp-%{majorminor}.so
191
192
193 # library headers
194 %{_includedir}/gstreamer-%{majorminor}/gst/tag/tag.h
195 # pkg-config files
196 %{_libdir}/pkgconfig/gstreamer-plugins-base-%{majorminor}.pc
197 # .so files
198 %{_libdir}/libgstinterfaces-%{majorminor}.so
199 @USE_ALSA_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstalsa.so
200
201
202 # Here are packages not in the base plugins package but not dependant
203 # on an external lib
204
205 # Here are all the packages depending on external libs #
206
207 ### VIDEO 4 LINUX 2 ###
208 # @USE_GST_V4L2_TRUE@%package -n gstreamer-plugins-v4l2
209 # @USE_GST_V4L2_TRUE@Summary:       GStreamer Video for Linux 2 plug-in.
210 # @USE_GST_V4L2_TRUE@Group:         Applications/Multimedia
211 # @USE_GST_V4L2_TRUE@Requires:      gstreamer-plugins09 = %{version}
212 # @USE_GST_V4L2_TRUE@BuildRequires: glibc-devel
213 # @USE_GST_V4L2_TRUE@Obsoletes:   gstreamer-v4l2
214 # @USE_GST_V4L2_TRUE@
215 # @USE_GST_V4L2_TRUE@%description -n gstreamer-plugins-v4l2
216 # @USE_GST_V4L2_TRUE@Plug-in for accessing Video for Linux devices.
217 # @USE_GST_V4L2_TRUE@
218 # @USE_GST_V4L2_TRUE@%files -n gstreamer-plugins-v4l2
219 # @USE_GST_V4L2_TRUE@%defattr(-, root, root)
220 # @USE_GST_V4L2_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstvideo4linux2.so
221 # @USE_GST_V4L2_TRUE@
222 # @USE_GST_V4L2_TRUE@%post -n gstreamer-plugins-v4l2
223 # @USE_GST_V4L2_TRUE@%{register}
224 # @USE_GST_V4L2_TRUE@
225 # @USE_GST_V4L2_TRUE@%postun -n gstreamer-plugins-v4l2
226 # @USE_GST_V4L2_TRUE@%{register}
227
228 %changelog
229 * Fri May 6 2005 Christian Schaller <christian at fluendo dot com>
230 - Added libgstaudiorate and libgstsubparse to spec file
231
232 * Thu May 5 2005 Christian Schaller <christian at fluendo dot com>
233 - first attempt at spec file for gst-plugins-base