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