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