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