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