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