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