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