1 |
# enable_gtkdoc: Toggle if gtkdoc stuff should be rebuilt |
2 |
# 0 = no |
3 |
# 1 = yes |
4 |
%define enable_gtkdoc 0 |
5 |
|
6 |
# Note that this is NOT a relocatable package |
7 |
%define api_version 2.0 |
8 |
%define lib_major 0 |
9 |
%define lib_name %mklibname %{name}_ %{lib_major} |
10 |
%define libgio_name %mklibname gio%{api_version}_ %{lib_major} |
11 |
%define develname %mklibname -d %name |
12 |
%define staticname %mklibname -d -s %name |
13 |
|
14 |
%define url_ver %(echo %{version}|cut -d. -f1,2) |
15 |
|
16 |
Summary: A library of handy utility functions |
17 |
Name: glib%{api_version} |
18 |
Version: 2.48.1 |
19 |
Release: %mkrel 1 |
20 |
License: LGPLv2+ |
21 |
Group: System/Libraries |
22 |
Source0: https://download.gnome.org/sources/glib/%{url_ver}/glib-%{version}.tar.xz |
23 |
Source1: glib20.sh |
24 |
Source2: glib20.csh |
25 |
# (tmb) disable deprecated schema warnings on mga3 like we did for mga2 |
26 |
Patch0: glib-silence-deprecated-paths.patch |
27 |
Patch1: glib-2.38.0-GIO-xfce4-terminal-support.patch |
28 |
# patches from upstream bgo#730332 to fix mga#13407 |
29 |
Patch2: 0001-Bug-730332-glib-uses-wrong-timezone-transition-with-.patch |
30 |
Patch3: 0002-Bug-730332-Guard-against-reading-past-the-end-of-a-t.patch |
31 |
# patches from upstream bgo#7762994: |
32 |
# upstream gobject introspection fix |
33 |
URL: http://www.gtk.org |
34 |
Requires: common-licenses |
35 |
Requires: shared-mime-info >= 0.70 |
36 |
BuildRequires: pkgconfig(libpcre) >= 8.11 |
37 |
BuildRequires: pkgconfig(zlib) |
38 |
BuildRequires: pkgconfig(dbus-1) >= 1.2.14 |
39 |
BuildRequires: gettext |
40 |
BuildRequires: libtool |
41 |
BuildRequires: locales-en |
42 |
BuildRequires: pkgconfig(libffi) >= 3.0.0 |
43 |
BuildRequires: xsltproc |
44 |
BuildRequires: docbook-dtds |
45 |
BuildRequires: docbook-xsl |
46 |
BuildRequires: docbook-style-xsl |
47 |
BuildRequires: libxml2-utils |
48 |
# ovitters adds elf support to gresource binary, needed to determine |
49 |
# gnome-shell requires |
50 |
BuildRequires: elfutils-devel |
51 |
%if %enable_gtkdoc |
52 |
BuildRequires: gtk-doc >= 0.10 |
53 |
%endif |
54 |
|
55 |
#gw this was required since 2.23.2 (new atomic OPs?) |
56 |
%global __requires_exclude GLIBC_PRIVATE |
57 |
|
58 |
%description |
59 |
Glib is a handy library of utility functions. This C |
60 |
library is designed to solve some portability problems |
61 |
and provide other useful functionality which most |
62 |
programs require. |
63 |
|
64 |
Glib is used by GDK, GTK+ and many applications. |
65 |
|
66 |
%package common |
67 |
Summary: data files used by glib |
68 |
Group: System/Libraries |
69 |
|
70 |
%description common |
71 |
Glib is a handy library of utility functions. This C |
72 |
library is designed to solve some portability problems |
73 |
and provide other useful functionality which most |
74 |
programs require. |
75 |
|
76 |
This package contains data used by glib library. |
77 |
|
78 |
%package -n %{lib_name} |
79 |
Summary: %{summary} |
80 |
Group: %{group} |
81 |
Provides: glib2 = %{version}-%{release} |
82 |
Provides: libglib2 = %{version}-%{release} |
83 |
Provides: lib%{name} = %{version}-%{release} |
84 |
Conflicts: libglib1.3_13 |
85 |
|
86 |
%description -n %{lib_name} |
87 |
Glib is a handy library of utility functions. This C |
88 |
library is designed to solve some portability problems |
89 |
and provide other useful functionality which most |
90 |
programs require. |
91 |
|
92 |
Glib is used by GDK, GTK+ and many applications. |
93 |
You should install Glib because many of your applications |
94 |
will depend on this library. |
95 |
|
96 |
This package contains the library needed to run programs dynamically |
97 |
linked with the glib. |
98 |
|
99 |
%package -n %{libgio_name} |
100 |
Summary: GIO is the input, output and streaming API of glib |
101 |
Group: %{group} |
102 |
Requires: %{lib_name} = %{version} |
103 |
Requires(post): %{lib_name} = %{version} |
104 |
Recommends: %{mklibname glib-networking-gnutls} |
105 |
|
106 |
%description -n %{libgio_name} |
107 |
GIO is the input, output and streaming API of glib. It on the one hand |
108 |
provides a set of various streaming classes to access data from different |
109 |
sources in a convenient way and on the other hand it provides a high level |
110 |
file system abstraction to access file and directories not only local but also |
111 |
on the network. For the latter you need to install gvfs. |
112 |
|
113 |
%package -n %develname |
114 |
Summary: Static libraries and header files of %{name} |
115 |
Group: Development/C |
116 |
Provides: glib2-devel = %{version}-%{release} |
117 |
Provides: libglib2-devel = %{version}-%{release} |
118 |
Provides: lib%{name}-devel = %{version}-%{release} |
119 |
Requires: %{lib_name} = %{version} |
120 |
Requires: %{libgio_name} = %{version} |
121 |
Requires: %{name}-common = %{version} |
122 |
Requires: glib-gettextize >= %{version} |
123 |
Conflicts: libglib1.3_13-devel |
124 |
#gw for %{_datadir}/glib-%{api_version}/gdb |
125 |
Conflicts: glib-gettextize < 2.25.3 |
126 |
Obsoletes: %mklibname -d %{name}_ 0 |
127 |
|
128 |
%description -n %develname |
129 |
Header files for the support library for the GIMP's X libraries, which are |
130 |
available as public libraries. GLIB includes generally useful data structures. |
131 |
|
132 |
%package -n %staticname |
133 |
Summary: Static libraries and header files of %{name} |
134 |
Group: Development/C |
135 |
Requires: %develname = %{version}-%{release} |
136 |
Provides: glib2-static-devel = %{version}-%{release} |
137 |
Provides: libglib2-static-devel = %{version}-%{release} |
138 |
Provides: lib%{name}-static-devel = %{version}-%{release} |
139 |
Conflicts: %develname < 2.28.6-2 |
140 |
|
141 |
%description -n %staticname |
142 |
Static libraries and files for the support library for the GIMP's X libraries, |
143 |
which are available as public libraries. GLIB includes generally useful data |
144 |
structures. |
145 |
|
146 |
%package -n glib-gettextize |
147 |
Summary: Gettextize replacement |
148 |
Group: Development/Other |
149 |
|
150 |
%description -n glib-gettextize |
151 |
%{name} package is designed to replace gettextize completely. |
152 |
Various gettext related files are modified in glib and gtk+ to |
153 |
allow better and more flexible i18n; however gettextize overwrites |
154 |
them with its own copy of files, thus nullifying the changes. |
155 |
If this replacement of gettextize is run instead, then all gnome |
156 |
packages can potentially benefict from the changes. |
157 |
|
158 |
%prep |
159 |
%setup -n glib-%{version} -q |
160 |
%autopatch -p1 |
161 |
|
162 |
%build |
163 |
autoreconf -vfi |
164 |
%configure2_5x \ |
165 |
--with-pcre=system \ |
166 |
--enable-static \ |
167 |
--disable-selinux \ |
168 |
--disable-fam \ |
169 |
--disable-systemtap \ |
170 |
%if !%enable_gtkdoc |
171 |
--enable-gtk-doc=no |
172 |
%endif |
173 |
|
174 |
%make |
175 |
|
176 |
%check |
177 |
#gw http://bugzilla.gnome.org/show_bug.cgi?id=440544 |
178 |
#make check |
179 |
|
180 |
%install |
181 |
%makeinstall_std |
182 |
|
183 |
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d |
184 |
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/50glib20.sh |
185 |
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/50glib20.csh |
186 |
|
187 |
%find_lang glib20 |
188 |
|
189 |
mv $RPM_BUILD_ROOT%{_bindir}/gio-querymodules $RPM_BUILD_ROOT%{_bindir}/gio-querymodules-%{__isa_bits} |
190 |
|
191 |
#ghost files |
192 |
touch %buildroot%_libdir/gio/modules/giomodule.cache \ |
193 |
%buildroot%_datadir/glib-2.0/schemas/gschemas.compiled |
194 |
|
195 |
# don't ship .a files for gio modules |
196 |
rm -f %buildroot%_libdir/gio/modules/lib*a |
197 |
|
198 |
# we don't want these |
199 |
find %{buildroot} -name "*.la" -delete |
200 |
rm -f $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb/*.{pyc,pyo} |
201 |
rm -f $RPM_BUILD_ROOT%{_datadir}/glib-2.0/codegen/*.{pyc,pyo} |
202 |
|
203 |
# automatic gschema compilation on rpm installs/removals |
204 |
# (see http://wiki.mandriva.com/en/Rpm_filetriggers) |
205 |
install -d %buildroot%{_var}/lib/rpm/filetriggers |
206 |
|
207 |
cat > %buildroot%{_var}/lib/rpm/filetriggers/glib-compile-schemas.filter << EOF |
208 |
^.%_datadir/glib-2.0/schemas/[^/]*\.xml$ |
209 |
^.%_datadir/glib-2.0/schemas/[^/]*\.override$ |
210 |
EOF |
211 |
|
212 |
cat > %buildroot%{_var}/lib/rpm/filetriggers/glib-compile-schemas.script << EOF |
213 |
#!/bin/sh |
214 |
if [ -x /usr/bin/glib-compile-schemas ]; then |
215 |
/usr/bin/glib-compile-schemas --allow-any-name %_datadir/glib-2.0/schemas/ |
216 |
fi |
217 |
EOF |
218 |
|
219 |
chmod 755 %buildroot%{_var}/lib/rpm/filetriggers/glib-compile-schemas.script |
220 |
|
221 |
# automatic update of gio module cache |
222 |
cat > %buildroot%{_var}/lib/rpm/filetriggers/gio-querymodules.filter << EOF |
223 |
^.%{_libdir}/gio/modules/*.so\$ |
224 |
EOF |
225 |
|
226 |
cat > %buildroot%{_var}/lib/rpm/filetriggers/gio-querymodules.script <<EOF |
227 |
#!/bin/sh |
228 |
%{_bindir}/gio-querymodules-%{__isa_bits} %{_libdir}/gio/modules |
229 |
EOF |
230 |
|
231 |
|
232 |
%post -n %{libgio_name} |
233 |
%if %_lib != lib |
234 |
%{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules |
235 |
%else |
236 |
%{_bindir}/gio-querymodules-32 %{_libdir}/gio/modules |
237 |
%endif |
238 |
|
239 |
%files common -f glib20.lang |
240 |
%doc README |
241 |
%config(noreplace) %{_sysconfdir}/profile.d/* |
242 |
%_datadir/bash-completion/completions/gapplication |
243 |
%_datadir/bash-completion/completions/gdbus |
244 |
%_datadir/bash-completion/completions/gsettings |
245 |
%_datadir/bash-completion/completions/gresource |
246 |
%{_bindir}/gapplication |
247 |
%{_bindir}/gdbus |
248 |
%{_bindir}/gresource |
249 |
%{_bindir}/glib-compile-schemas |
250 |
%{_bindir}/glib-compile-resources |
251 |
%{_bindir}/gsettings |
252 |
%{_mandir}/man1/gio-querymodules.1* |
253 |
%_mandir/man1/glib-compile-schemas.1* |
254 |
%_mandir/man1/glib-compile-resources.1* |
255 |
%_mandir/man1/gsettings.1* |
256 |
%{_mandir}/man1/gapplication.1* |
257 |
%{_mandir}/man1/gdbus.1* |
258 |
%{_mandir}/man1/gresource.1* |
259 |
%dir %_datadir/glib-2.0/ |
260 |
%dir %_datadir/glib-2.0/schemas/ |
261 |
%_datadir/glib-2.0/schemas/gschema.dtd |
262 |
%ghost %_datadir/glib-2.0/schemas/gschemas.compiled |
263 |
%_datadir/gettext/its/ |
264 |
%{_var}/lib/rpm/filetriggers/glib-compile-schemas.* |
265 |
%{_var}/lib/rpm/filetriggers/gio-querymodules.* |
266 |
|
267 |
%files -n %{lib_name} |
268 |
%doc README |
269 |
%{_libdir}/libglib-%{api_version}.so.%{lib_major} |
270 |
%{_libdir}/libglib-%{api_version}.so.%{lib_major}.* |
271 |
%{_libdir}/libgmodule-%{api_version}.so.%{lib_major} |
272 |
%{_libdir}/libgmodule-%{api_version}.so.%{lib_major}.* |
273 |
%{_libdir}/libgthread-%{api_version}.so.%{lib_major} |
274 |
%{_libdir}/libgthread-%{api_version}.so.%{lib_major}.* |
275 |
%{_libdir}/libgobject-%{api_version}.so.%{lib_major} |
276 |
%{_libdir}/libgobject-%{api_version}.so.%{lib_major}.* |
277 |
|
278 |
%files -n %{libgio_name} |
279 |
%_bindir/gio-querymodules-* |
280 |
%{_libdir}/libgio-%{api_version}.so.%{lib_major} |
281 |
%{_libdir}/libgio-%{api_version}.so.%{lib_major}.* |
282 |
%dir %_libdir/gio/ |
283 |
%dir %_libdir/gio/modules/ |
284 |
%ghost %_libdir/gio/modules/giomodule.cache |
285 |
|
286 |
%files -n %develname |
287 |
%doc AUTHORS NEWS |
288 |
%doc %{_datadir}/gtk-doc/html/* |
289 |
%{_libdir}/lib*.so |
290 |
%{_libdir}/glib-%{api_version} |
291 |
%{_datadir}/glib-%{api_version}/codegen |
292 |
%{_libdir}/pkgconfig/* |
293 |
%{_includedir}/* |
294 |
%{_mandir}/man1/glib-genmarshal.1* |
295 |
%{_mandir}/man1/glib-mkenums.1* |
296 |
%{_mandir}/man1/gobject-query.1* |
297 |
%{_mandir}/man1/gtester-report.1* |
298 |
%{_mandir}/man1/gtester.1* |
299 |
%{_mandir}/man1/gdbus-codegen.1* |
300 |
%{_datadir}/aclocal/glib-%{api_version}.m4 |
301 |
%{_datadir}/aclocal/gsettings.m4 |
302 |
%{_bindir}/glib-genmarshal |
303 |
%{_bindir}/glib-mkenums |
304 |
%{_bindir}/gobject-query |
305 |
%{_bindir}/gtester* |
306 |
%{_bindir}/gdbus-codegen |
307 |
%{_datadir}/gdb/auto-load%{_libdir}/lib*-gdb.py* |
308 |
%{_datadir}/glib-%{api_version}/gdb |
309 |
|
310 |
%files -n glib-gettextize |
311 |
%{_bindir}/glib-gettextize |
312 |
%_mandir/man1/glib-gettextize.1* |
313 |
%{_datadir}/aclocal/glib-gettext.m4 |
314 |
%{_datadir}/glib-%{api_version}/gettext |
315 |
|
316 |
%files -n %staticname |
317 |
%{_libdir}/lib*.a |