add wingoopt scheduler
[platform/upstream/gstreamer.git] / gstreamer.spec.in
1 Name:           gstreamer
2 Version:        @VERSION@
3 Release:        @GST_VERSION_RELEASE@
4 Summary:        GStreamer streaming media framework runtime.
5
6 Group:          Libraries/Multimedia
7 License:        LGPL
8 URL:            http://gstreamer.net/
9 Vendor:         GStreamer Backpackers Team <package@gstreamer.net>
10 Source:         http://gstreamer.net/releases/%{version}/src/%{name}-%{version}.tar.gz
11 BuildRoot:      %{_tmppath}/%{name}-%{version}-root
12
13 %define         _glib2          @GLIB2_REQ@
14 %define         _libxml2        @LIBXML2_REQ@
15
16 Requires:       glib2 >= %_glib2
17 Requires:       libxml2 >= %_libxml2
18 Requires:       popt > 1.6
19 BuildRequires:  glib2-devel >= %_glib2
20 BuildRequires:  libxml2-devel >= %_libxml2
21 BuildRequires:  bison
22 BuildRequires:  flex
23 BuildRequires:  gtk-doc >= 0.7
24 BuildRequires:  gcc
25 BuildRequires:  zlib-devel
26 BuildRequires:  popt > 1.6
27 Prereq:         /sbin/ldconfig
28
29 ### documentation requirements
30 BuildRequires:  openjade
31 BuildRequires:  python2
32 BuildRequires:  docbook-style-dsssl docbook-dtd31-sgml
33 BuildRequires:  transfig xfig
34
35 %description
36 GStreamer is a streaming-media framework, based on graphs of filters which
37 operate on media data. Applications using this library can do anything
38 from real-time sound processing to playing videos, and just about anything
39 else media-related.  Its plugin-based architecture means that new data
40 types or processing capabilities can be added simply by installing new 
41 plugins.
42
43 %package devel
44 Summary:        Libraries/include files for GStreamer streaming media framework.
45 Group:          Development/Libraries
46
47 Requires:       %{name} = %{version}-%{release}
48 Requires:       glib2-devel >= %_glib2
49 Requires:       libxml2-devel >= %_libxml2
50
51 %description devel
52 GStreamer is a streaming-media framework, based on graphs of filters which
53 operate on media data. Applications using this library can do anything
54 from real-time sound processing to playing videos, and just about anything
55 else media-related.  Its plugin-based architecture means that new data
56 types or processing capabilities can be added simply by installing new   
57 plugins.
58
59 This package contains the libraries and includes files necessary to develop
60 applications and plugins for GStreamer.
61
62 %prep
63 %setup
64
65 %build
66 CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
67 CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
68 FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
69 %{?__libtoolize:[ -f configure.in ] && %{__libtoolize} --copy --force} ; \
70 ./configure \
71   --prefix=%{_prefix} \
72   --exec-prefix=%{_exec_prefix} \
73   --bindir=%{_bindir} \
74   --sbindir=%{_sbindir} \
75   --sysconfdir=%{_sysconfdir} \
76   --datadir=%{_datadir} \
77   --includedir=%{_includedir} \
78   --libdir=%{_libdir} \
79   --libexecdir=%{_libexecdir} \
80   --localstatedir=%{_localstatedir} \
81   --sharedstatedir=%{_sharedstatedir} \
82   --mandir=%{_mandir} \
83   --infodir=%{_infodir} \
84   --enable-debug \
85   --with-configdir=/etc/gstreamer \
86   --disable-tests --disable-examples \
87   --enable-docs-build --with-html-dir=$RPM_BUILD_ROOT%{_datadir}/gtk-doc/html
88
89 if [ "$SMP" != "" ]; then
90   (make "MAKE=make -k -j $SMP"; exit 0)
91 else
92   make
93 fi
94
95 %install  
96 [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
97 # adding devhelp stuff here for now, need to integrate better
98 # when devhelp allows it
99 mkdir -p $RPM_BUILD_ROOT/usr/share/devhelp/specs
100 cp $RPM_BUILD_DIR/%{name}-%{version}/docs/devhelp/*.devhelp $RPM_BUILD_ROOT/usr/share/devhelp/specs
101
102 %makeinstall
103 # Clean out files that should not be part of the rpm. 
104 # This is the recommended way of dealing with it for RH8
105 rm -f $RPM_BUILD_ROOT%{_libdir}/gst/*.la
106 rm -f $RPM_BUILD_ROOT%{_libdir}/gst/*.a
107 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
108 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
109
110 %clean
111 [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
112
113 %post
114 /sbin/ldconfig
115 %{_bindir}/gst-register --gst-mask=0 > /dev/null 2> /dev/null
116
117 %post devel
118 # adding devhelp links to work around different base not working
119 mkdir -p %{_datadir}/devhelp/books
120 ln -sf %{_datadir}/gtk-doc/html/gstreamer %{_datadir}/devhelp/books
121 ln -sf %{_datadir}/gtk-doc/html/gstreamer-libs %{_datadir}/devhelp/books
122
123 %postun
124 /sbin/ldconfig
125
126 %files
127 %defattr(-, root, root)
128 %doc AUTHORS COPYING README TODO COPYING.LIB ABOUT-NLS REQUIREMENTS DOCBUILDING RELEASE 
129 %{_bindir}/gst-complete
130 %{_bindir}/gst-compprep
131 %{_bindir}/gst-inspect
132 %{_bindir}/gst-launch
133 %{_bindir}/gst-md5sum
134 %{_bindir}/gst-register
135 %{_bindir}/gst-feedback
136 %{_bindir}/gst-xmllaunch
137 %{_libdir}/libgstreamer-%{version}.so.*
138 %{_libdir}/gst/libgstautoplugcache*.so*
139 %{_libdir}/gst/libgstautoplugger*.so*
140 %{_libdir}/gst/libgstbasicomega*.so*
141 %{_libdir}/gst/libgstfastomega*.so*
142 %{_libdir}/gst/libgstoptomega*.so*
143 %{_libdir}/gst/libgstbasicwingo*.so*
144 %{_libdir}/gst/libgstfastwingo*.so*
145 %{_libdir}/gst/libgstoptwingoscheduler.so
146 %{_libdir}/gst/libgstelements*.so*
147 %{_libdir}/gst/libgsttypes*.so*
148 %{_libdir}/gst/libgststaticautoplug*.so*
149 %{_libdir}/gst/libgstbytestream*.so*
150 %{_libdir}/gst/libgstgetbits*.so*
151 %{_libdir}/gst/libgstputbits*.so*
152 %{_libdir}/gst/libgstspider*.so*
153 %{_mandir}/man1/gst-feedback.*
154 %{_mandir}/man1/gst-xmllaunch.*
155 %{_mandir}/man1/gst-complete.*
156 %{_mandir}/man1/gst-compprep.*
157 %{_mandir}/man1/gst-inspect.*
158 %{_mandir}/man1/gst-launch.*
159 %{_mandir}/man1/gst-md5sum.*
160 %{_mandir}/man1/gst-register.*
161
162 %{_libdir}/libgstcontrol*.so*
163
164 %files devel
165 %defattr(-, root, root)
166 %{_includedir}/%{name}-%{version}/gst
167 # %{_libdir}/libgstreamer.a
168 %{_libdir}/libgstreamer.so
169 %{_libdir}/pkgconfig/gstreamer*.pc
170 ## we specify the API docs as regular files since %docs doesn't fail when
171 #  files aren't found anymore for RPM >= 4
172 #  we list all of the files we really need to trap incomplete doc builds
173 #  then we catch the rest with *, you can safely ignore the errors from this
174 ## gstreamer API
175 %{_datadir}/gtk-doc/html/gstreamer/autopluggers.html
176 %{_datadir}/gtk-doc/html/gstreamer/book1.html
177 %{_datadir}/gtk-doc/html/gstreamer/element-types.html
178 %{_datadir}/gtk-doc/html/gstreamer/gstautoplugfactory.html
179 %{_datadir}/gtk-doc/html/gstreamer/gstautoplug.html
180 %{_datadir}/gtk-doc/html/gstreamer/gstbin.html
181 %{_datadir}/gtk-doc/html/gstreamer/gstclock.html
182 %{_datadir}/gtk-doc/html/gstreamer/gstelement.html
183 %{_datadir}/gtk-doc/html/gstreamer/gst-index.html
184 %{_datadir}/gtk-doc/html/gstreamer/gstobject.html
185 %{_datadir}/gtk-doc/html/gstreamer/gstpad.html
186 %{_datadir}/gtk-doc/html/gstreamer/gstpipeline.html
187 %{_datadir}/gtk-doc/html/gstreamer/gstpluginfeature.html
188 # %{_datadir}/gtk-doc/html/gstreamer/gstreamer-cothreads.html
189 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstbuffer.html
190 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstbufferpool.html
191 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstcaps.html
192 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstcpu.html
193 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstdata.html
194 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstevent.html
195 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gst.html
196 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstinfo.html
197 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstparse.html
198 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstplugin.html
199 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstprops.html
200 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gststaticautoplug.html
201 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gststaticautoplugrender.html
202 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gsttee.html
203 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gsttype.html
204 %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstutils.html
205 %{_datadir}/gtk-doc/html/gstreamer/gstreamer.html
206 %{_datadir}/gtk-doc/html/gstreamer/gstschedulerfactory.html
207 %{_datadir}/gtk-doc/html/gstreamer/gstscheduler.html
208 %{_datadir}/gtk-doc/html/gstreamer/gstthread.html
209 %{_datadir}/gtk-doc/html/gstreamer/gsttimecache.html
210 %{_datadir}/gtk-doc/html/gstreamer/gsttypefactory.html
211 %{_datadir}/gtk-doc/html/gstreamer/gstxml.html
212 %{_datadir}/gtk-doc/html/gstreamer/index.sgml
213 ## gstreamer-libs API
214 %{_datadir}/gtk-doc/html/gstreamer-libs/book1.html
215 %{_datadir}/gtk-doc/html/gstreamer-libs/gstreamer-libs-gstcolorspace.html
216 %{_datadir}/gtk-doc/html/gstreamer-libs/gstreamer-libs-gstgetbits.html
217 %{_datadir}/gtk-doc/html/gstreamer-libs/gstreamer-libs.html
218 %{_datadir}/gtk-doc/html/gstreamer-libs/index.sgml
219 ## this catches all of the rest of the docs we might have forgotten
220 %{_datadir}/gtk-doc/html/*
221 %{_datadir}/devhelp/specs/gstreamer.devhelp
222 %{_datadir}/devhelp/specs/gstreamer-libs.devhelp
223
224
225 %changelog
226 * Tue Nov 05 2002 Christian Schaller <Uraeus@linuxrising.org>
227 - Add optwingo scheduler
228 * Sat Oct 12 2002 Christian Schaller <Uraeus@linuxrising.org>
229 - Updated to work better with default RH8 rpm
230 - Added missing unspeced files
231 - Removed .a and .la files from buildroot
232
233 * Sat Sep 21 2002 Thomas Vander Stichele <thomas@apestaart.org>
234 - added gst-md5sum
235
236 * Tue Sep 17 2002 Thomas Vander Stichele <thomas@apestaart.org>
237 - adding flex to buildrequires
238
239 * Fri Sep 13 2002 Christian F.K. Schaller <Uraeus@linuxrising.org>
240 - Fixed the schedulers after the renaming
241 * Sun Sep 08 2002 Thomas Vander Stichele <thomas@apestaart.org>
242 - added transfig to the BuildRequires:
243
244 * Sat Jun 22 2002 Thomas Vander Stichele <thomas@apestaart.org>
245 - moved header location
246
247 * Mon Jun 17 2002 Thomas Vander Stichele <thomas@apestaart.org>
248 - added popt
249 - removed .la
250
251 * Fri Jun 07 2002 Thomas Vander Stichele <thomas@apestaart.org>
252 - added release of gstreamer to req of gstreamer-devel
253 - changed location of API docs to be in gtk-doc like other gtk-doc stuff
254 - reordered SPEC file
255
256 * Mon Apr 29 2002 Thomas Vander Stichele <thomas@apestaart.org>
257 - moved html docs to gtk-doc standard directory
258
259 * Tue Mar 5 2002 Thomas Vander Stichele <thomas@apestaart.org>
260 - move version defines of glib2 and libxml2 to configure.ac
261 - add BuildRequires for these two libs
262
263 * Sun Mar 3 2002 Thomas Vander Stichele <thomas@apestaart.org>
264 - put html docs in canonical place, avoiding %doc erasure
265 - added devhelp support, current install of it is hackish
266
267 * Sat Mar 2 2002 Christian Schaller <Uraeus@linuxrising.org>
268 - Added documentation to build
269
270 * Mon Feb 11 2002 Thomas Vander Stichele <thomas@apestaart.org>
271 - added libgstbasicscheduler
272 - renamed libgst to libgstreamer
273
274 * Fri Jan 04 2002 Christian Schaller <Uraeus@linuxrising.org>
275 - Added configdir parameter as it seems the configdir gets weird otherwise
276
277 * Thu Jan 03 2002 Thomas Vander Stichele <thomas@apestaart.org>
278 - split off gstreamer-editor from core
279 - removed gstreamer-gnome-apps
280
281 * Sat Dec 29 2001 Rodney Dawes <dobey@free.fr>
282 - Cleaned up the spec file for the gstreamer core/plug-ins split
283 - Improve spec file
284
285 * Sat Dec 15 2001 Christian Schaller <Uraeus@linuxrising.org>
286 - Split of more plugins from the core and put them into their own modules
287 - Includes colorspace, xfree and wav
288 - Improved package Require lines
289 - Added mp3encode (lame based) to the SPEC
290
291 * Wed Dec 12 2001 Christian Schaller <Uraeus@linuxrising.org>
292 - Thomas merged mpeg plugins into one
293 * Sat Dec 08 2001 Christian Schaller <Uraeus@linuxrising.org>
294 - More minor cleanups including some fixed descriptions from Andrew Mitchell
295
296 * Fri Dec 07 2001 Christian Schaller <Uraeus@linuxrising.org>
297 - Added logging to the make statement
298
299 * Wed Dec 05 2001 Christian Schaller <Uraeus@linuxrising.org>
300 - Updated in preparation for 0.3.0 release
301
302 * Fri Jun 29 2001 Christian Schaller <Uraeus@linuxrising.org>
303 - Updated for 0.2.1 release
304 - Split out the GUI packages into their own RPM
305 - added new plugins (FLAC, festival, quicktime etc.)
306
307 * Sat Jun 09 2001 Christian Schaller <Uraeus@linuxrising.org>
308 - Visualisation plugins bundled out togheter
309 - Moved files sections up close to their respective descriptions
310
311 * Sat Jun 02 2001 Christian Schaller <Uraeus@linuxrising.org>
312 - Split the package into separate RPMS, 
313   putting most plugins out by themselves.
314
315 * Fri Jun 01 2001 Christian Schaller <Uraeus@linuxrising.org>
316 - Updated with change suggestions from Dennis Bjorklund
317
318 * Tue Jan 09 2001 Erik Walthinsen <omega@cse.ogi.edu>
319 - updated to build -devel package as well
320
321 * Sun Jan 30 2000 Erik Walthinsen <omega@cse.ogi.edu>
322 - first draft of spec file
323