1 |
%define oname gstreamer |
2 |
%define api 1.0 |
3 |
%define name %{oname}%{api} |
4 |
%define vname %{oname}10 |
5 |
|
6 |
%define major 0 |
7 |
%define libname %mklibname %{oname} %{api} %{major} |
8 |
%define gi_name %mklibname gst-gir %{api} |
9 |
%define libnamedev %mklibname -d %{name} |
10 |
%define build_docs 0 |
11 |
|
12 |
Name: %{oname}%{api} |
13 |
Summary: GStreamer Streaming-media framework runtime |
14 |
Version: 1.0.0 |
15 |
Release: %mkrel 1 |
16 |
License: LGPLv2+ |
17 |
Group: Sound |
18 |
URL: http://gstreamer.freedesktop.org/ |
19 |
Source0: http://gstreamer.freedesktop.org/src/gstreamer/%{oname}-%{version}.tar.xz |
20 |
Source1: gstreamer.prov |
21 |
Patch0: gstreamer-inspect-rpm-format.patch |
22 |
BuildRequires: pkgconfig(gio-2.0) >= 2.32.0 |
23 |
BuildRequires: pkgconfig(glib-2.0) >= 2.32.0 |
24 |
BuildRequires: pkgconfig(gmodule-no-export-2.0) |
25 |
BuildRequires: pkgconfig(gobject-2.0) |
26 |
BuildRequires: pkgconfig(gthread-2.0) |
27 |
BuildRequires: pkgconfig(libxml-2.0) >= 2.4.9 |
28 |
BuildRequires: gobject-introspection-devel |
29 |
BuildRequires: popt-devel |
30 |
BuildRequires: gettext-devel |
31 |
BuildRequires: libcheck-devel |
32 |
BuildRequires: chrpath |
33 |
BuildRequires: bison |
34 |
BuildRequires: flex |
35 |
|
36 |
%ifnarch %arm %mips |
37 |
BuildRequires: valgrind-devel |
38 |
%endif |
39 |
|
40 |
%ifarch %ix86 |
41 |
BuildRequires: nasm => 0.90 |
42 |
%endif |
43 |
|
44 |
%if %build_docs |
45 |
BuildRequires: gtk-doc >= 0.7 |
46 |
BuildRequires: transfig |
47 |
BuildRequires: docbook-dtd42-xml |
48 |
BuildRequires: docbook-dtd412-xml |
49 |
BuildRequires: ghostscript |
50 |
BuildRequires: python-pyxml |
51 |
%endif |
52 |
|
53 |
%description |
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 |
%package tools |
62 |
Summary: GStreamer Streaming-media framework runtime |
63 |
Group: Sound |
64 |
Provides: %{vname}-tools = %{version}-%{release} |
65 |
|
66 |
%description tools |
67 |
GStreamer is a streaming-media framework, based on graphs of filters which |
68 |
operate on media data. Applications using this library can do anything |
69 |
from real-time sound processing to playing videos, and just about anything |
70 |
else media-related. Its plugin-based architecture means that new data |
71 |
types or processing capabilities can be added simply by installing new |
72 |
plugins. |
73 |
|
74 |
%package -n %{libname} |
75 |
Summary: Libraries for GStreamer streaming-media framework |
76 |
Group: System/Libraries |
77 |
Requires: %{name}-tools >= %{version}-%{release} |
78 |
Provides: libgstreamer%{api} = %{version}-%{release} |
79 |
|
80 |
%description -n %{libname} |
81 |
GStreamer is a streaming-media framework, based on graphs of filters which |
82 |
operate on media data. Applications using this library can do anything |
83 |
from real-time sound processing to playing videos, and just about anything |
84 |
else media-related. Its plugin-based architecture means that new data |
85 |
types or processing capabilities can be added simply by installing new |
86 |
plugins. |
87 |
|
88 |
This package contains the libraries. |
89 |
|
90 |
%package -n %{gi_name} |
91 |
Summary: GObject Introspection interface libraries for %{name} |
92 |
Group: System/Libraries |
93 |
Requires: %{libname} = %{version}-%{release} |
94 |
|
95 |
%description -n %{gi_name} |
96 |
GObject Introspection interface libraries for %{name}. |
97 |
|
98 |
%package -n %{libnamedev} |
99 |
Summary: Libraries and include files for GStreamer streaming-media framework |
100 |
Group: Development/C |
101 |
Requires: %{libname} = %{version}-%{release} |
102 |
Requires: %{name}-tools = %{version}-%{release} |
103 |
Provides: gstreamer%{api}-devel = %{version}-%{release} |
104 |
|
105 |
%description -n %{libnamedev} |
106 |
GStreamer is a streaming-media framework, based on graphs of filters which |
107 |
operate on media data. Applications using this library can do anything |
108 |
from real-time sound processing to playing videos, and just about anything |
109 |
else media-related. Its plugin-based architecture means that new data |
110 |
types or processing capabilities can be added simply by installing new |
111 |
plugins. |
112 |
|
113 |
This package contains the libraries and includes files necessary to develop |
114 |
applications and plugins for GStreamer. |
115 |
|
116 |
%prep |
117 |
%setup -q -n %{oname}-%{version} |
118 |
%apply_patches |
119 |
|
120 |
%build |
121 |
%configure2_5x \ |
122 |
--enable-debug \ |
123 |
--disable-static \ |
124 |
--disable-dependency-tracking \ |
125 |
--with-package-name='%_vendor %{name} package' \ |
126 |
--with-package-origin='http://bugs.%_vendor.org/' \ |
127 |
--disable-tests \ |
128 |
--disable-examples \ |
129 |
--disable-rpath \ |
130 |
%if %build_docs |
131 |
--enable-docbook \ |
132 |
--enable-gtk-doc \ |
133 |
%else |
134 |
--disable-docbook \ |
135 |
--disable-gtk-doc \ |
136 |
%endif |
137 |
%ifarch %mips |
138 |
--disable-valgrind \ |
139 |
%endif |
140 |
--with-html-dir=%{_datadir}/gtk-doc/html |
141 |
|
142 |
%make |
143 |
|
144 |
%check |
145 |
cd tests/check |
146 |
# disable check as it will stall at build in iurt |
147 |
#make check |
148 |
|
149 |
%install |
150 |
%makeinstall_std |
151 |
|
152 |
mkdir -p %{buildroot}%{_var}/cache/%{oname}-%{api} |
153 |
|
154 |
#clean the files we don't want to install |
155 |
find %{buildroot} -name '*.la' -delete |
156 |
|
157 |
%find_lang %{oname}-%{api} |
158 |
|
159 |
%if %build_docs |
160 |
mv %{buildroot}%{_datadir}/doc/%{oname}-%{api}/ installed-docs |
161 |
%endif |
162 |
|
163 |
#gw really remove rpath for rpmlint |
164 |
chrpath -d %{buildroot}{%_bindir/gst-{inspect,launch,typefind}-1.0,%_libdir/{*.so,%{oname}-%api/*.so}} |
165 |
|
166 |
# Add the provides script |
167 |
install -m0755 -D %{SOURCE1} %{buildroot}%{_prefix}/lib/rpm/%{_real_vendor}/%{name}.prov |
168 |
|
169 |
%files tools -f %{oname}-%{api}.lang |
170 |
%doc AUTHORS COPYING README NEWS |
171 |
%dir %{_var}/cache/%{oname}-%{api} |
172 |
%{_bindir}/gst-inspect-%{api} |
173 |
%{_bindir}/gst-launch-%{api} |
174 |
%{_bindir}/gst-typefind-%{api} |
175 |
%{_mandir}/man1/gst-inspect-%{api}.1* |
176 |
%{_mandir}/man1/gst-launch-%{api}.1* |
177 |
%{_mandir}/man1/gst-typefind-%{api}.1* |
178 |
|
179 |
%files -n %{libname} |
180 |
%dir %{_libdir}/%{oname}-%{api} |
181 |
%{_libdir}/libgstbase-%{api}.so.%{major}* |
182 |
%{_libdir}/libgstcheck-%{api}.so.%{major}* |
183 |
%{_libdir}/libgstreamer-%{api}.so.%{major}* |
184 |
%{_libdir}/libgstnet-%{api}.so.%{major}* |
185 |
%{_libdir}/libgstcontroller-%{api}.so.%{major}* |
186 |
%{_libdir}/%{oname}-%{api}/gst-plugin-scanner |
187 |
%{_libdir}/%{oname}-%{api}/libgstcoreelements.so |
188 |
|
189 |
%files -n %{gi_name} |
190 |
%{_libdir}/girepository-1.0/Gst-%{api}.typelib |
191 |
%{_libdir}/girepository-1.0/GstBase-%{api}.typelib |
192 |
%{_libdir}/girepository-1.0/GstCheck-%{api}.typelib |
193 |
%{_libdir}/girepository-1.0/GstController-%{api}.typelib |
194 |
%{_libdir}/girepository-1.0/GstNet-%{api}.typelib |
195 |
|
196 |
%files -n %{libnamedev} |
197 |
%doc ChangeLog |
198 |
|
199 |
%if %build_docs |
200 |
%doc installed-docs/* |
201 |
%endif |
202 |
|
203 |
%{_prefix}/lib/rpm/%{_real_vendor}/%{name}.prov |
204 |
%dir %{_includedir}/%{oname}-%{api} |
205 |
%dir %{_includedir}/%{oname}-%{api}/gst |
206 |
%{_includedir}/%{oname}-%{api}/gst/*.h |
207 |
%dir %{_includedir}/%{oname}-%{api}/gst/base/ |
208 |
%{_includedir}/%{oname}-%{api}/gst/base/*.h |
209 |
%{_includedir}/%{oname}-%{api}/gst/check/ |
210 |
%dir %{_includedir}/%{oname}-%{api}/gst/controller/ |
211 |
%{_includedir}/%{oname}-%{api}/gst/controller/*.h |
212 |
%{_includedir}/%{oname}-%{api}/gst/net/ |
213 |
%{_libdir}/libgstbase-%{api}.so |
214 |
%{_libdir}/libgstcheck-%{api}.so |
215 |
%{_libdir}/libgstreamer-%{api}.so |
216 |
%{_libdir}/libgstnet-%{api}.so |
217 |
%{_libdir}/libgstcontroller-%{api}.so |
218 |
%{_datadir}/aclocal/gst-element-check-%{api}.m4 |
219 |
%{_libdir}/pkgconfig/gstreamer-%{api}.pc |
220 |
%{_libdir}/pkgconfig/gstreamer-base-%{api}.pc |
221 |
%{_libdir}/pkgconfig/gstreamer-check-%{api}.pc |
222 |
%{_libdir}/pkgconfig/gstreamer-net-%{api}.pc |
223 |
%{_libdir}/pkgconfig/gstreamer-controller-%{api}.pc |
224 |
## we specify the API docs as regular files since %docs doesn't fail when |
225 |
# files aren't found anymore for RPM >= 4 |
226 |
# we list all of the files we really need to trap incomplete doc builds |
227 |
# then we catch the rest with *, you can safely ignore the errors from this |
228 |
## gstreamer API |
229 |
%dir %{_datadir}/gtk-doc/html/%{oname}-%{api} |
230 |
%{_datadir}/gtk-doc/html/%{oname}-%{api}/%{oname}-%{api}.devhelp2 |
231 |
%{_datadir}/gtk-doc/html/%{oname}-%{api}/GstBin.html |
232 |
%{_datadir}/gtk-doc/html/%{oname}-%{api}/GstClock.html |
233 |
%{_datadir}/gtk-doc/html/%{oname}-%{api}/GstObject.html |
234 |
%{_datadir}/gtk-doc/html/%{oname}-%{api}/GstPipeline.html |
235 |
%{_datadir}/gtk-doc/html/%{oname}-%{api}/GstPluginFeature.html |
236 |
%{_datadir}/gtk-doc/html/%{oname}-%{api}/%{oname}.html |
237 |
%{_datadir}/gtk-doc/html/%{oname}-%{api}/%{oname}-support.html |
238 |
%{_datadir}/gtk-doc/html/%{oname}-%{api}/index.html |
239 |
%{_datadir}/gtk-doc/html/%{oname}-%{api}/index.sgml |
240 |
## gstreamer-libs API |
241 |
%dir %{_datadir}/gtk-doc/html/%{oname}-libs-%{api} |
242 |
%{_datadir}/gtk-doc/html/%{oname}-libs-%{api}/%{oname}-libs-%{api}.devhelp2 |
243 |
%{_datadir}/gtk-doc/html/%{oname}-libs-%{api}/%{oname}-libs.html |
244 |
%{_datadir}/gtk-doc/html/%{oname}-libs-%{api}/index.html |
245 |
%{_datadir}/gtk-doc/html/%{oname}-libs-%{api}/index.sgml |
246 |
## this catches all of the rest of the docs we might have forgotten |
247 |
%{_datadir}/gtk-doc/html/* |
248 |
%{_datadir}/gir-1.0/Gst-%{api}.gir |
249 |
%{_datadir}/gir-1.0/GstBase-%{api}.gir |
250 |
%{_datadir}/gir-1.0/GstCheck-%{api}.gir |
251 |
%{_datadir}/gir-1.0/GstController-%{api}.gir |
252 |
%{_datadir}/gir-1.0/GstNet-%{api}.gir |