fix build so you can make dist and create rpms
[platform/upstream/gstreamer.git] / gst-plugins-base.spec.in
1 # This SPEC file is created in a way that tries to solve various demands. 
2 # First of all it tries to create packages that will easily replace both the 
3 # Fedora Core default packages and also replace the extra rpms provided 
4 # by Fedora.us or freshrpms.net.
5 # At the same time they will only include plugins for which you have the needed
6 # packages installed at the time you run autogen.sh. This means that if you
7 # are not careful you might end up with less plugins than what the standard 
8 # packages provide, which in turn means things might stop working for you. 
9 # So make sure you have an idea of what you do before creating RPMS using this 
10 # SPEC file.
11
12 %define         register        %{_bindir}/gst-register-%{majorminor} > /dev/null 2>&1 || :
13 %define         gst_minver      0.7.6
14 %define         gstp_minver     0.7.6
15
16 Name:           gstreamer-plugins-base
17 Version:        @VERSION@
18 Release:        @GST_PLUGINS_VERSION_RELEASE@
19 Summary:        GStreamer Streaming-media framework plug-ins.
20
21 %define         majorminor      @GST_MAJORMINOR@
22
23 Group:          Applications/Multimedia
24 License:        LGPL
25 URL:            http://gstreamer.net/
26 Vendor:         GStreamer Backpackers Team <package@gstreamer.net>
27 Source:         http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.gz
28 BuildRoot:      %{_tmppath}/%{name}-%{version}-root
29
30 %define         _glib2          @GLIB2_REQ@
31
32 Requires:       glib2 >= %_glib2
33 BuildRequires:  glib2-devel >= %_glib2
34 Requires:       gstreamer >= %{gst_minver}
35 BuildRequires:  gstreamer-devel >= %{gst_minver}
36 BuildRequires:  gstreamer-tools >= %{gst_minver}
37 BuildRequires:  gcc-c++
38 BuildRequires:  XFree86-devel
39
40 @USE_GCONF_TRUE@Requires:       GConf2
41 @USE_GCONF_TRUE@BuildRequires:  GConf2-devel
42 @USE_GNOME_VFS_TRUE@Requires:      gnome-vfs2 > 1.9.4.00
43 @USE_GNOME_VFS_TRUE@BuildRequires: gnome-vfs2-devel > 1.9.4.00
44 @USE_VORBIS_TRUE@Requires:      libogg >= 1.0
45 @USE_VORBIS_TRUE@Requires:      libvorbis >= 1.0
46 @USE_VORBIS_TRUE@BuildRequires: libogg-devel >= 1.0
47 @USE_VORBIS_TRUE@BuildRequires: libvorbis-devel >= 1.0
48 @USE_XVIDEO_TRUE@Requires:      XFree86-libs
49 @USE_XVIDEO_TRUE@BuildRequires: XFree86-devel
50
51 %description
52 GStreamer is a streaming-media framework, based on graphs of filters which
53 operate on media data. Applications using this library can do anything
54 from real-time sound processing to playing videos, and just about anything
55 else media-related.  Its plugin-based architecture means that new data
56 types or processing capabilities can be added simply by installing new
57 plug-ins.
58
59 %prep
60 %setup -n gst-plugins-base-%{version}
61 %build
62 %configure \
63   --with-gdk-pixbuf-loader-dir=$RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.2.0/loaders \
64   --enable-debug \
65   --enable-DEBUG 
66
67 make %{?_smp_mflags}
68                                                                                 
69 %install
70 rm -rf $RPM_BUILD_ROOT
71
72 export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
73 %makeinstall
74 unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
75                                                                                 
76 # Clean out files that should not be part of the rpm.
77 rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/*.la
78 rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/*.a
79 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
80 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
81 rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstgdkpixbuf.so
82
83 %clean
84 rm -rf $RPM_BUILD_ROOT
85
86 %post
87 %{register}
88 %postun
89 %{register}
90
91 %files
92 %defattr(-, root, root)
93 %doc AUTHORS COPYING README REQUIREMENTS
94
95 # helper programs
96 %{_bindir}/gst-launch-ext-%{majorminor}
97 %{_bindir}/gst-visualise-%{majorminor}
98 %{_mandir}/man1/gst-launch-ext-%{majorminor}.*
99 %{_mandir}/man1/gst-visualise-%{majorminor}*
100 %{_datadir}/locale
101 # schema files
102 @USE_GCONF_TRUE@%{_sysconfdir}/gconf/schemas/gstreamer-%{majorminor}.schemas
103
104 # libraries
105 %{_libdir}/libgstinterfaces-%{majorminor}.so.*
106 @USE_GCONF_TRUE@%{_libdir}/libgstgconf-%{majorminor}.so.*
107 %{_libdir}/libgstaudio-0.9.so.*
108 %{_libdir}/libgstaudiofilter-0.9.so.*
109 %{_libdir}/libgstriff-0.9.so.*
110 %{_libdir}/libgsttagedit-0.9.so.*
111 %{_libdir}/libgstvideo-0.9.so.*
112
113 # non-core plugins without external dependencies
114 %{_libdir}/gstreamer-%{majorminor}/libgstadder.so
115 %{_libdir}/gstreamer-%{majorminor}/libgstaudioconvert.so
116 %{_libdir}/gstreamer-%{majorminor}/libgstffmpegcolorspace.so
117 %{_libdir}/gstreamer-%{majorminor}/libgstsinesrc.so
118 %{_libdir}/gstreamer-%{majorminor}/libgstdecodebin.so
119 %{_libdir}/gstreamer-%{majorminor}/libgstplaybin.so
120 %{_libdir}/gstreamer-%{majorminor}/libgsttagedit.so
121 %{_libdir}/gstreamer-%{majorminor}/libgsttcp.so
122 %{_libdir}/gstreamer-%{majorminor}/libgsttypefindfunctions.so
123 %{_libdir}/gstreamer-%{majorminor}/libgstvideotestsrc.so
124 @USE_THEORA_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgsttheora.so
125 @USE_GNOME_VFS_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstgnomevfs.so
126 @USE_VORBIS_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstvorbis.so
127 @USE_VORBIS_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstogg.so
128 @USE_XVIDEO_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstximagesink.so
129 @USE_XVIDEO_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstxvimagesink.so
130
131                                                                                 
132 %package -n gstreamer-plugins-base-devel
133 Summary:        GStreamer Plugin Library Headers.
134 Group:          Development/Libraries
135 Requires:       gstreamer-plugins = %{version}
136 Provides:       gstreamer-play-devel = %{version}
137
138 %description -n gstreamer-plugins-base-devel
139 GStreamer support libraries header files.
140
141 %files -n gstreamer-plugins-base-devel
142 %defattr(-, root, root)
143 # plugin helper library headers
144 %{_includedir}/gstreamer-%{majorminor}/gst/audio/audio.h
145 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudiofilter.h
146 %{_includedir}/gstreamer-%{majorminor}/gst/audio/multichannel.h
147 %{_includedir}/gstreamer-%{majorminor}/gst/floatcast/floatcast.h
148 %{_includedir}/gstreamer-%{majorminor}/gst/riff/riff-ids.h
149 %{_includedir}/gstreamer-%{majorminor}/gst/riff/riff-media.h
150 %{_includedir}/gstreamer-%{majorminor}/gst/riff/riff-read.h
151 %{_includedir}/gstreamer-%{majorminor}/gst/video/video.h
152 %{_includedir}/gstreamer-%{majorminor}/gst/video/videosink.h
153 # plugin interface headers
154 %{_includedir}/gstreamer-%{majorminor}/gst/mixer/mixer.h
155 %{_includedir}/gstreamer-%{majorminor}/gst/mixer/mixertrack.h
156 %{_includedir}/gstreamer-%{majorminor}/gst/mixer/mixer-enumtypes.h
157 %{_includedir}/gstreamer-%{majorminor}/gst/navigation/navigation.h
158 %{_includedir}/gstreamer-%{majorminor}/gst/colorbalance/colorbalance.h
159 %{_includedir}/gstreamer-%{majorminor}/gst/colorbalance/colorbalancechannel.h
160 %{_includedir}/gstreamer-%{majorminor}/gst/colorbalance/colorbalance-enumtypes.h
161 %{_includedir}/gstreamer-%{majorminor}/gst/propertyprobe/propertyprobe.h
162 %{_includedir}/gstreamer-%{majorminor}/gst/tuner/tuner.h
163 %{_includedir}/gstreamer-%{majorminor}/gst/tuner/tunerchannel.h
164 %{_includedir}/gstreamer-%{majorminor}/gst/tuner/tunernorm.h
165 %{_includedir}/gstreamer-%{majorminor}/gst/tuner/tuner-enumtypes.h
166 %{_includedir}/gstreamer-%{majorminor}/gst/xoverlay/xoverlay.h
167 %{_includedir}/gstreamer-%{majorminor}/gst/mixer/mixeroptions.h
168 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudioclock.h
169 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstaudiosink.h
170 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstbaseaudiosink.h
171 %{_includedir}/gstreamer-%{majorminor}/gst/audio/gstringbuffer.h
172 %{_libdir}/libgstaudio-0.9.so
173 %{_libdir}/libgstaudiofilter-0.9.so
174 %{_libdir}/libgstriff-0.9.so
175 %{_libdir}/libgsttagedit-0.9.so
176 %{_libdir}/libgstvideo-0.9.so
177
178
179 # library headers
180 @USE_GCONF_TRUE@%{_includedir}/gstreamer-%{majorminor}/gst/gconf/gconf.h
181 %{_includedir}/gstreamer-%{majorminor}/gst/tag/tag.h
182 # pkg-config files
183 @USE_GCONF_TRUE@%{_libdir}/pkgconfig/gstreamer-gconf-%{majorminor}.pc
184 %{_libdir}/pkgconfig/gstreamer-interfaces-%{majorminor}.pc
185 %{_libdir}/pkgconfig/gstreamer-libs-%{majorminor}.pc
186 %{_libdir}/pkgconfig/gstreamer-plugins-%{majorminor}.pc
187 # .so files
188 @USE_GCONF_TRUE@%{_libdir}/libgstgconf-%{majorminor}.so
189 %{_libdir}/libgstinterfaces-%{majorminor}.so
190 @USE_ALSA_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstalsa.so
191
192
193 # Here are packages not in the base plugins package but not dependant
194 # on an external lib
195
196 # Here are all the packages depending on external libs #
197
198 ### VIDEO 4 LINUX 2 ###
199 # @USE_GST_V4L2_TRUE@%package -n gstreamer-plugins-v4l2
200 # @USE_GST_V4L2_TRUE@Summary:       GStreamer Video for Linux 2 plug-in.
201 # @USE_GST_V4L2_TRUE@Group:         Applications/Multimedia
202 # @USE_GST_V4L2_TRUE@Requires:      gstreamer-plugins = %{version}
203 # @USE_GST_V4L2_TRUE@BuildRequires: glibc-devel
204 # @USE_GST_V4L2_TRUE@Obsoletes:   gstreamer-v4l2
205 # @USE_GST_V4L2_TRUE@
206 # @USE_GST_V4L2_TRUE@%description -n gstreamer-plugins-v4l2
207 # @USE_GST_V4L2_TRUE@Plug-in for accessing Video for Linux devices.
208 # @USE_GST_V4L2_TRUE@
209 # @USE_GST_V4L2_TRUE@%files -n gstreamer-plugins-v4l2
210 # @USE_GST_V4L2_TRUE@%defattr(-, root, root)
211 # @USE_GST_V4L2_TRUE@%{_libdir}/gstreamer-%{majorminor}/libgstvideo4linux2.so
212 # @USE_GST_V4L2_TRUE@
213 # @USE_GST_V4L2_TRUE@%post -n gstreamer-plugins-v4l2
214 # @USE_GST_V4L2_TRUE@%{register}
215 # @USE_GST_V4L2_TRUE@
216 # @USE_GST_V4L2_TRUE@%postun -n gstreamer-plugins-v4l2
217 # @USE_GST_V4L2_TRUE@%{register}
218
219 %changelog
220 * Thu May 5 2005 Christian Schaller <christian at fluendo dot com>
221 - first attempt at spec file for gst-plugins-base