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