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