1 |
%define name gobject-introspection |
2 |
%define version 1.29.16 |
3 |
%define git 0 |
4 |
%define rel 3 |
5 |
|
6 |
%if %git |
7 |
%define release %mkrel -c %{git} %{rel} |
8 |
%else |
9 |
%define release %mkrel %{rel} |
10 |
%endif |
11 |
|
12 |
%define api 1.0 |
13 |
%define major 1 |
14 |
%define libname %mklibname girepository %{api} %{major} |
15 |
%define develname %mklibname -d girepository |
16 |
|
17 |
%define url_ver %(echo %{version} | cut -d. -f1,2) |
18 |
|
19 |
Summary: GObject Introspection |
20 |
Name: %{name} |
21 |
Version: %{version} |
22 |
Release: %{release} |
23 |
|
24 |
%if %{git} |
25 |
Source0: %{name}-%{git}.tar.xz |
26 |
%else |
27 |
Source0: ftp://ftp.gnome.org/pub/GNOME/sources/%{name}/%{url_ver}/%{name}-%{version}.tar.xz |
28 |
%endif |
29 |
|
30 |
Source1: glib-2.0.c |
31 |
Patch0: gobject-introspection-fix-link.patch |
32 |
License: GPLv2+ and LGPLv2+ |
33 |
Group: Development/C |
34 |
Url: http://www.gnome.org |
35 |
BuildRequires: pkgconfig(cairo) |
36 |
BuildRequires: pkgconfig(cairo-gobject) |
37 |
BuildRequires: pkgconfig(gio-2.0) |
38 |
BuildRequires: pkgconfig(gio-unix-2.0) |
39 |
BuildRequires: pkgconfig(glib-2.0) >= 2.29.7 |
40 |
BuildRequires: pkgconfig(gmodule-2.0) |
41 |
BuildRequires: pkgconfig(gobject-2.0) |
42 |
BuildRequires: pkgconfig(gthread-2.0) |
43 |
BuildRequires: pkgconfig(libffi) |
44 |
BuildRequires: python-devel |
45 |
BuildRequires: flex |
46 |
BuildRequires: bison |
47 |
BuildRequires: gnome-common |
48 |
BuildRequires: libtool |
49 |
Conflicts: %{mklibname girepository 1.0 0} < 0.6.10-5mdv |
50 |
Conflicts: gir-repository < 0.6.5-12.20100622.3mdv |
51 |
|
52 |
%description |
53 |
The goal of the project is to describe the APIs and collect them in |
54 |
a uniform, machine readable format. |
55 |
|
56 |
%package -n %{libname} |
57 |
Group: System/Libraries |
58 |
Summary: GObject Introspection shared library |
59 |
Conflicts: %{name} < 0.6.8-2mdv |
60 |
Requires: %{name} >= %{version} |
61 |
|
62 |
%description -n %{libname} |
63 |
The goal of the project is to describe the APIs and collect them in |
64 |
a uniform, machine readable format. |
65 |
|
66 |
|
67 |
#--------------------------------------------------------------- |
68 |
%if "%{_lib}" == "lib64" |
69 |
%define mark64 ()(64bit) |
70 |
%else |
71 |
%define mark64 %nil |
72 |
%endif |
73 |
|
74 |
#--------------------------------------------------------------- |
75 |
%define girglibname %mklibname glib-gir 2.0 |
76 |
|
77 |
%package -n %{girglibname} |
78 |
Summary: GObject Introspection interface description for glib |
79 |
Group: System/Libraries |
80 |
Conflicts: %{name} < 1.29.16-3 |
81 |
Requires: libglib-2.0.so.0%{mark64} |
82 |
Requires: libgmodule-2.0.so.0%{mark64} |
83 |
Requires: libgio-2.0.so.0%{mark64} |
84 |
Requires: libgobject-2.0.so.0%{mark64} |
85 |
|
86 |
%description -n %{girglibname} |
87 |
GObject Introspection interface description for glib. |
88 |
|
89 |
%files -n %{girglibname} |
90 |
%{_libdir}/girepository-1.0/GLib-2.0.typelib |
91 |
%{_libdir}/girepository-1.0/GModule-2.0.typelib |
92 |
%{_libdir}/girepository-1.0/GObject-2.0.typelib |
93 |
%{_libdir}/girepository-1.0/Gio-2.0.typelib |
94 |
|
95 |
#--------------------------------------------------------------- |
96 |
%define girdbusname %mklibname dbus-gir 1.0 |
97 |
|
98 |
%package -n %{girdbusname} |
99 |
Summary: GObject Introspection interface description for dbus |
100 |
Group: System/Libraries |
101 |
Conflicts: %{name} < 1.29.16-3 |
102 |
Requires: libdbus-1.so.3%{mark64} |
103 |
|
104 |
%description -n %{girdbusname} |
105 |
GObject Introspection interface description for dbus. |
106 |
|
107 |
%files -n %{girdbusname} |
108 |
%{_libdir}/girepository-1.0/DBus-1.0.typelib |
109 |
|
110 |
#--------------------------------------------------------------- |
111 |
%define girdbusglibname %mklibname dbusglib-gir 1.0 |
112 |
|
113 |
%package -n %{girdbusglibname} |
114 |
Summary: GObject Introspection interface description for dbusglib |
115 |
Group: System/Libraries |
116 |
Conflicts: %{name} < 1.29.16-3 |
117 |
Requires: libdbus-glib-1.so.2%{mark64} |
118 |
|
119 |
%description -n %{girdbusglibname} |
120 |
GObject Introspection interface description for dbusglib. |
121 |
|
122 |
%files -n %{girdbusglibname} |
123 |
%{_libdir}/girepository-1.0/DBusGLib-1.0.typelib |
124 |
|
125 |
#--------------------------------------------------------------- |
126 |
%define girgirepositoryname %mklibname girepository-gir 2.0 |
127 |
|
128 |
%package -n %{girgirepositoryname} |
129 |
Summary: GObject Introspection interface description for girepository |
130 |
Group: System/Libraries |
131 |
Conflicts: %{name} < 1.29.16-3 |
132 |
Requires: %{libname} = %{version}-%{release} |
133 |
|
134 |
%description -n %{girgirepositoryname} |
135 |
GObject Introspection interface description for girepository. |
136 |
|
137 |
%files -n %{girgirepositoryname} |
138 |
%{_libdir}/girepository-1.0/GIRepository-2.0.typelib |
139 |
|
140 |
#--------------------------------------------------------------- |
141 |
%define girglname %mklibname gl-gir 1.0 |
142 |
|
143 |
%package -n %{girglname} |
144 |
Summary: GObject Introspection interface description for OpenGL |
145 |
Group: System/Libraries |
146 |
Conflicts: %{name} < 1.29.16-3 |
147 |
Requires: libGL.so.1%{mark64} |
148 |
|
149 |
%description -n %{girglname} |
150 |
GObject Introspection interface description for OpenGL. |
151 |
|
152 |
%files -n %{girglname} |
153 |
%{_libdir}/girepository-1.0/GL-1.0.typelib |
154 |
|
155 |
#--------------------------------------------------------------- |
156 |
%define gircaironame %mklibname cairo-gir 1.0 |
157 |
|
158 |
%package -n %{gircaironame} |
159 |
Summary: GObject Introspection interface description for cairo |
160 |
Group: System/Libraries |
161 |
Conflicts: %{name} < 1.29.16-3 |
162 |
Requires: libcairo.so.2%{mark64} |
163 |
|
164 |
%description -n %{gircaironame} |
165 |
GObject Introspection interface description for cairo. |
166 |
|
167 |
%files -n %{gircaironame} |
168 |
%{_libdir}/girepository-1.0/cairo-1.0.typelib |
169 |
|
170 |
#--------------------------------------------------------------- |
171 |
%define girfontconfigname %mklibname fontconfig-gir 2.0 |
172 |
|
173 |
%package -n %{girfontconfigname} |
174 |
Summary: GObject Introspection interface description for fontconfig |
175 |
Group: System/Libraries |
176 |
Conflicts: %{name} < 1.29.16-3 |
177 |
Requires: libfontconfig.so.1%{mark64} |
178 |
|
179 |
%description -n %{girfontconfigname} |
180 |
GObject Introspection interface description for fontconfig. |
181 |
|
182 |
%files -n %{girfontconfigname} |
183 |
%{_libdir}/girepository-1.0/fontconfig-2.0.typelib |
184 |
|
185 |
#--------------------------------------------------------------- |
186 |
%define girfreetypename %mklibname freetype-gir 2.0 |
187 |
|
188 |
%package -n %{girfreetypename} |
189 |
Summary: GObject Introspection interface description for freetype |
190 |
Group: System/Libraries |
191 |
Conflicts: %{name} < 1.29.16-3 |
192 |
Requires: libfreetype.so.6%{mark64} |
193 |
|
194 |
%description -n %{girfreetypename} |
195 |
GObject Introspection interface description for freetype. |
196 |
|
197 |
%files -n %{girfreetypename} |
198 |
%{_libdir}/girepository-1.0/freetype2-2.0.typelib |
199 |
|
200 |
#--------------------------------------------------------------- |
201 |
%define girlibxml2name %mklibname libxml2-gir 2.0 |
202 |
|
203 |
%package -n %{girlibxml2name} |
204 |
Summary: GObject Introspection interface description for libxml2 |
205 |
Group: System/Libraries |
206 |
Conflicts: %{name} < 1.29.16-3 |
207 |
Requires: libxml2.so.2%{mark64} |
208 |
|
209 |
%description -n %{girlibxml2name} |
210 |
GObject Introspection interface description for libxml2. |
211 |
|
212 |
%files -n %{girlibxml2name} |
213 |
%{_libdir}/girepository-1.0/libxml2-2.0.typelib |
214 |
|
215 |
#--------------------------------------------------------------- |
216 |
%define girxfixesname %mklibname xfixes-gir 4.0 |
217 |
|
218 |
%package -n %{girxfixesname} |
219 |
Summary: GObject Introspection interface description for xfixes |
220 |
Group: System/Libraries |
221 |
Conflicts: %{name} < 1.29.16-3 |
222 |
Requires: libXfixes.so.3%{mark64} |
223 |
|
224 |
%description -n %{girxfixesname} |
225 |
GObject Introspection interface description for xfixes. |
226 |
|
227 |
%files -n %{girxfixesname} |
228 |
%{_libdir}/girepository-1.0/xfixes-4.0.typelib |
229 |
|
230 |
#--------------------------------------------------------------- |
231 |
%define girxftname %mklibname xft-gir 2.0 |
232 |
|
233 |
%package -n %{girxftname} |
234 |
Summary: GObject Introspection interface description for xft |
235 |
Group: System/Libraries |
236 |
Conflicts: %{name} < 1.29.16-3 |
237 |
Requires: libXft.so.2%{mark64} |
238 |
|
239 |
%description -n %{girxftname} |
240 |
GObject Introspection interface description for xft. |
241 |
|
242 |
%files -n %{girxftname} |
243 |
%{_libdir}/girepository-1.0/xft-2.0.typelib |
244 |
|
245 |
#--------------------------------------------------------------- |
246 |
%define girxlibname %mklibname xlib-gir 2.0 |
247 |
|
248 |
%package -n %{girxlibname} |
249 |
Summary: GObject Introspection interface description for xlib |
250 |
Group: System/Libraries |
251 |
Conflicts: %{name} < 1.29.16-3 |
252 |
Requires: libX11.so.6%{mark64} |
253 |
|
254 |
%description -n %{girxlibname} |
255 |
GObject Introspection interface description for xlib. |
256 |
|
257 |
%files -n %{girxlibname} |
258 |
%{_libdir}/girepository-1.0/xlib-2.0.typelib |
259 |
|
260 |
#--------------------------------------------------------------- |
261 |
%define girxrandrname %mklibname xrandr-gir 1.3 |
262 |
|
263 |
%package -n %{girxrandrname} |
264 |
Summary: GObject Introspection interface description for xrandr |
265 |
Group: System/Libraries |
266 |
Conflicts: %{name} < 1.29.16-3 |
267 |
Requires: libXrandr.so.2%{mark64} |
268 |
|
269 |
%description -n %{girxrandrname} |
270 |
GObject Introspection interface description for xrandr. |
271 |
|
272 |
%files -n %{girxrandrname} |
273 |
%{_libdir}/girepository-1.0/xrandr-1.3.typelib |
274 |
|
275 |
#--------------------------------------------------------------- |
276 |
%package -n %{develname} |
277 |
Group: Development/C |
278 |
Summary: GObject Introspection development libraries |
279 |
Requires: %{libname} = %{version}-%{release} |
280 |
Requires: %{girglibname} = %{version}-%{release} |
281 |
Requires: %{girdbusname} = %{version}-%{release} |
282 |
Requires: %{girdbusglibname} = %{version}-%{release} |
283 |
Requires: %{girgirepositoryname} = %{version}-%{release} |
284 |
Requires: %{girglname} = %{version}-%{release} |
285 |
Requires: %{gircaironame} = %{version}-%{release} |
286 |
Requires: %{girfontconfigname} = %{version}-%{release} |
287 |
Requires: %{girfreetypename} = %{version}-%{release} |
288 |
Requires: %{girlibxml2name} = %{version}-%{release} |
289 |
Requires: %{girxfixesname} = %{version}-%{release} |
290 |
Requires: %{girxftname} = %{version}-%{release} |
291 |
Requires: %{girxlibname} = %{version}-%{release} |
292 |
Requires: %{girxrandrname} = %{version}-%{release} |
293 |
Provides: libgirepository-devel = %{version}-%{release} |
294 |
Provides: %{name}-devel = %{version}-%{release} |
295 |
#gw /usr/bin/libtool is called in giscanner |
296 |
Requires: libtool |
297 |
|
298 |
%description -n %{develname} |
299 |
The goal of the project is to describe the APIs and collect them in |
300 |
a uniform, machine readable format. |
301 |
|
302 |
#--------------------------------------------------------------- |
303 |
%prep |
304 |
%if %{git} |
305 |
%setup -q -n %{name} |
306 |
%else |
307 |
%setup -q |
308 |
%endif |
309 |
|
310 |
%apply_patches |
311 |
|
312 |
# From Ubuntu: |
313 |
# Roll back to gir/glib-2.0 as of before upstream commit 6d30588c1. |
314 |
# Later commits have a GVariant which current pygobject does not |
315 |
# deal with. This is fixed in the invoke-rewrite branch of |
316 |
# pygobject, so until this lands we need the older annotations. |
317 |
pushd gir |
318 |
rm -rf glib-2.0.c |
319 |
cp %{SOURCE1} . |
320 |
popd |
321 |
|
322 |
%build |
323 |
|
324 |
%if %{git} |
325 |
./autogen.sh -V |
326 |
%else |
327 |
autoreconf -fi |
328 |
%endif |
329 |
|
330 |
%configure2_5x \ |
331 |
--disable-static |
332 |
|
333 |
%make |
334 |
|
335 |
%install |
336 |
rm -rf %{buildroot} |
337 |
%makeinstall_std |
338 |
|
339 |
# don't ship .la |
340 |
#find %{buildroot} -name '*.la' -exec rm -f {} \; |
341 |
|
342 |
%check |
343 |
make check |
344 |
|
345 |
%clean |
346 |
rm -rf %{buildroot} |
347 |
|
348 |
%files |
349 |
%defattr(-,root,root) |
350 |
%doc README NEWS TODO AUTHORS |
351 |
%dir %{_libdir}/girepository-%{api} |
352 |
|
353 |
%files -n %{libname} |
354 |
%defattr(-,root,root) |
355 |
%{_libdir}/libgirepository-%{api}.so.%{major}* |
356 |
|
357 |
%files -n %{develname} |
358 |
%defattr(-,root,root) |
359 |
%doc ChangeLog |
360 |
%{_libdir}/libgirepository-%{api}.so |
361 |
%{_libdir}/pkgconfig/gobject-introspection-%{api}.pc |
362 |
%{_libdir}/pkgconfig/gobject-introspection-no-export-%{api}.pc |
363 |
%{_includedir}/%{name}-%{api} |
364 |
%{_datadir}/aclocal/*.m4 |
365 |
%{_datadir}/%{name}-%{api} |
366 |
%{_bindir}/g-ir-* |
367 |
%{_libdir}/%{name} |
368 |
%{_datadir}/gtk-doc/html/gi |
369 |
%dir %{_datadir}/gir-%{api} |
370 |
%{_datadir}/gir-%{api}/DBus-1.0.gir |
371 |
%{_datadir}/gir-%{api}/DBusGLib-1.0.gir |
372 |
%{_datadir}/gir-%{api}/GIRepository-2.0.gir |
373 |
%{_datadir}/gir-%{api}/GL-1.0.gir |
374 |
%{_datadir}/gir-%{api}/GLib-2.0.gir |
375 |
%{_datadir}/gir-%{api}/GModule-2.0.gir |
376 |
%{_datadir}/gir-%{api}/GObject-2.0.gir |
377 |
%{_datadir}/gir-%{api}/Gio-2.0.gir |
378 |
%{_datadir}/gir-%{api}/cairo-1.0.gir |
379 |
%{_datadir}/gir-%{api}/fontconfig-2.0.gir |
380 |
%{_datadir}/gir-%{api}/freetype2-2.0.gir |
381 |
%{_datadir}/gir-%{api}/libxml2-2.0.gir |
382 |
%{_datadir}/gir-%{api}/xfixes-4.0.gir |
383 |
%{_datadir}/gir-%{api}/xft-2.0.gir |
384 |
%{_datadir}/gir-%{api}/xlib-2.0.gir |
385 |
%{_datadir}/gir-%{api}/xrandr-1.3.gir |
386 |
%{_mandir}/man1/* |
387 |
%{_libdir}/*.la |