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