1 %define with_systemtap 0
7 # FIXME: find out if tapsets should really be in devel package or in main package
8 Summary: General-Purpose Utility Library
10 Group: System/Libraries
11 Url: http://www.gtk.org/
12 Source: http://download.gnome.org/sources/glib/2.32/%{name}-%{version}.tar.xz
15 # Not upstream file. Only proposes upstream packages:
16 Source4: glib2-upstream-gnome_defaults.conf
18 # Not depending on gtk-doc shortens bootstrap compilation path.
19 # Please update this file from the latest gtk-doc package:
21 Source99: baselibs.conf
22 BuildRequires: automake
24 BuildRequires: gcc-c++
25 BuildRequires: pkg-config
27 BuildRequires: gettext-tools
28 # gdbus-codegen is run during the build, so we need python-xml
29 BuildRequires: python-xml
30 %if 0%{?with_systemtap}
31 BuildRequires: systemtap-sdt-devel
33 # Needed for gresource
34 BuildRequires: pkgconfig(libelf) >= 0.8.12
35 BuildRequires: pkgconfig(libffi)
36 BuildRequires: pkgconfig(libpcre)
37 BuildRequires: pkgconfig(zlib)
40 GLib is a general-purpose utility library, which provides many useful
41 data types, macros, type conversions, string utilities, file utilities,
42 a main loop abstraction, and so on.
45 Summary: General-Purpose Utility Library -- Tools
46 Group: Development/Libraries
49 GLib is a general-purpose utility library, which provides many useful
50 data types, macros, type conversions, string utilities, file utilities,
51 a main loop abstraction, and so on.
53 %package -n gio-branding-upstream
54 Summary: Upstream definitions of default settings and applications
55 Group: System/Libraries
56 Requires: libgio = %{version}
57 Provides: %{name}-branding-upstream = %{version}
58 Obsoletes: %{name}-branding-upstream < %{version}
59 Provides: gio-branding = %{version}
60 Conflicts: otherproviders(gio-branding)
61 Supplements: packageand(libgio:branding-upstream)
63 #BRAND: The /etc/gnome_defaults.conf allows to define arbitrary
64 #BRAND: applications as preferred defaults.
65 #BRAND: A /usr/share/glib-2.0/schemas/$NAME.gschema.override file can
66 #BRAND: be used to override the default value for GSettings keys. See
67 #BRAND: README.Gsettings-overrides for more details. The branding
68 #BRAND: package should then have proper Requires for features changed
69 #BRAND: with such an override file.
70 # NOTE: gnome_defaults is not an upstream feature, but a SuSE
71 # enhancement, but to conform branding conventions, the package is named
72 # as gio-branding-upstream.
74 %description -n gio-branding-upstream
75 This package provides upstream defaults for settings stored with
76 GSettings and applications used by the MIME system.
80 Requires: %{name} = %{version}
83 # Now require the subpackages too
84 Requires: glib2-tools = %{version}
85 Requires: libgio = %{version}
86 Requires: libglib = %{version}
87 Requires: libgmodule = %{version}
88 Requires: libgobject = %{version}
89 Requires: libgthread = %{version}
90 # Required by gdbus-codegen
92 Provides: glib2-doc = 2.19.6
93 Obsoletes: glib2-doc < 2.19.6
94 Summary: General-Purpose Utility Library -- Development Files
95 Group: Development/Libraries
98 GLib is a general-purpose utility library, which provides many useful
99 data types, macros, type conversions, string utilities, file utilities,
100 a main loop abstraction, and so on.
102 This package contains the development files for GLib.
104 %package devel-static
105 Requires: %{name}-devel = %{version}
106 Summary: General-Purpose Utility Library -- Static Libraries
107 Group: Development/Libraries
109 %description devel-static
110 GLib is a general-purpose utility library, which provides many useful
111 data types, macros, type conversions, string utilities, file utilities,
112 a main loop abstraction, and so on.
114 This package contains static versions of the GLib libraries.
117 Summary: General-Purpose Utility Library
118 Group: System/Libraries
119 Provides: %{name} = %{version}
120 Obsoletes: %{name} < %{version}
122 %description -n libglib
123 GLib is a general-purpose utility library, which provides many useful
124 data types, macros, type conversions, string utilities, file utilities,
125 a main loop abstraction, and so on.
127 %package -n libgmodule
128 Summary: General-Purpose Utility Library -- Library for Modules
129 Group: System/Libraries
131 %description -n libgmodule
132 GLib is a general-purpose utility library, which provides many useful
133 data types, macros, type conversions, string utilities, file utilities,
134 a main loop abstraction, and so on.
136 The libgmodule library provides a portable way to dynamically load
137 object files (commonly known as 'plug-ins').
140 Summary: General-Purpose Utility Library -- Library for VFS
141 Group: System/Libraries
142 Requires: gio-branding = %{version}
143 # bnc#555605: shared-mime-info is required by libgio to properly detect mime types.
144 Requires: shared-mime-info
145 # bnc#678518: libgio interacts with others by means of dbus-launch
146 #Requires: dbus-1-x11
147 Provides: gio = %{version}
149 %description -n libgio
150 GLib is a general-purpose utility library, which provides many useful
151 data types, macros, type conversions, string utilities, file utilities,
152 a main loop abstraction, and so on.
154 GIO provides a modern, easy-to-use VFS API.
157 %package -n libgthread
158 Summary: General-Purpose Utility Library -- Library for Threads
159 Group: System/Libraries
161 %description -n libgthread
162 GLib is a general-purpose utility library, which provides many useful
163 data types, macros, type conversions, string utilities, file utilities,
164 a main loop abstraction, and so on.
166 The libgthread library provides a portable way to write multi-threaded
169 %package -n libgobject
170 Summary: General-Purpose Utility Library -- Object-Oriented Framework for C
171 Group: System/Libraries
173 %description -n libgobject
174 GLib is a general-purpose utility library, which provides many useful
175 data types, macros, type conversions, string utilities, file utilities,
176 a main loop abstraction, and so on.
178 The GObject library provides an object-oriented framework for C.
181 %setup -q -n %{name}-%{version}
182 cp -a %{S:1} %{S:2} .
183 cp -a %{S:4} gnome_defaults.conf
184 if ! test -f %{_datadir}/aclocal/gtk-doc.m4 ; then
185 cp -a %{S:7} m4macros/
189 NOCONFIGURE=1 ./autogen.sh
192 %if 0%{?with_systemtap}
197 %{__make} %{?_smp_mflags} V=1
202 %find_lang glib20 %{?no_lang_C}
204 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
205 install -D -m0644 glib2.sh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.sh
206 install -D -m0644 glib2.csh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.csh
207 install -D -m0644 gnome_defaults.conf %{buildroot}%{_sysconfdir}/gnome_defaults.conf
209 mkdir -p %{buildroot}%{_localstatedir}/cache/gio-2.0 %{buildroot}%{_datadir}/applications
210 touch %{buildroot}%{_localstatedir}/cache/gio-2.0/gnome-defaults.list
211 touch %{buildroot}%{_localstatedir}/cache/gio-2.0/xfce-defaults.list
212 touch %{buildroot}%{_localstatedir}/cache/gio-2.0/lxde-defaults.list
213 ln -s %{_localstatedir}/cache/gio-2.0/gnome-defaults.list %{buildroot}%{_datadir}/applications/defaults.list
214 # gio-querymodules magic
215 %if "%{_lib}" == "lib64"
216 mv %{buildroot}%{_bindir}/gio-querymodules %{buildroot}%{_bindir}/gio-querymodules-64
218 touch %{buildroot}%{_libdir}/gio/modules/giomodule.cache
220 touch %{buildroot}%{_datadir}/glib-2.0/schemas/gschemas.compiled
221 # remove files we don't care about
222 find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
224 mkdir -p %{buildroot}%{_sysconfdir}/rpm
225 cp %{S:6} %{buildroot}%{_sysconfdir}/rpm
229 %post -n libglib -p /sbin/ldconfig
231 %post -n libgobject -p /sbin/ldconfig
233 %post -n libgthread -p /sbin/ldconfig
235 %post -n libgio -p /sbin/ldconfig
237 %post -n libgmodule -p /sbin/ldconfig
239 %postun -n libglib -p /sbin/ldconfig
241 %postun -n libgobject -p /sbin/ldconfig
243 %postun -n libgthread -p /sbin/ldconfig
245 %postun -n libgio -p /sbin/ldconfig
247 %postun -n libgmodule -p /sbin/ldconfig
251 %defattr(-,root,root)
252 %dir %{_datadir}/bash-completion
253 %dir %{_datadir}/bash-completion/completions
254 %{_datadir}/bash-completion/completions/gresource
255 %{_datadir}/bash-completion/completions/gsettings
257 %{_bindir}/gio-querymodules*
258 %{_bindir}/glib-compile-schemas
261 # We put those files here, but they don't really belong here. They just don't
262 # have a better home... The zzz-glib2 scripts could arguably be in
263 # libglib but that would break the shared library policy.
264 %{_sysconfdir}/profile.d/zzz-glib2.*
266 %files -n gio-branding-upstream
267 %defattr(-,root,root)
268 %config (noreplace) %{_sysconfdir}/gnome_defaults.conf
271 %defattr(-, root, root)
273 %{_libdir}/libglib*.so.*
276 %defattr(-, root, root)
277 %{_libdir}/libgmodule*.so.*
280 %defattr(-, root, root)
281 %{_libdir}/libgobject*.so.*
284 %defattr(-, root, root)
285 %{_libdir}/libgthread*.so.*
288 %defattr(-, root, root)
289 %{_libdir}/libgio*.so.*
291 %dir %{_libdir}/gio/modules
292 %ghost %{_libdir}/gio/modules/giomodule.cache
293 %dir %{_datadir}/glib-2.0/
294 %dir %{_datadir}/glib-2.0/schemas/
295 %ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
296 %{_datadir}/applications/defaults.list
297 %dir %{_localstatedir}/cache/gio-2.0
298 %ghost %{_localstatedir}/cache/gio-2.0/gnome-defaults.list
299 %ghost %{_localstatedir}/cache/gio-2.0/xfce-defaults.list
300 %ghost %{_localstatedir}/cache/gio-2.0/lxde-defaults.list
303 %lang_package -f glib20
308 %defattr(-,root,root)
310 %{_bindir}/gdbus-codegen
311 %{_datadir}/bash-completion/completions/*
312 %_datadir/glib-2.0/codegen
314 %{_bindir}/glib-compile-resources
315 %{_bindir}/glib-genmarshal
316 %{_bindir}/glib-gettextize
317 %{_bindir}/glib-mkenums
318 %{_bindir}/gobject-query
320 %{_bindir}/gtester-report
321 %dir %{_datadir}/aclocal
322 %{_datadir}/aclocal/glib-2.0.m4
323 %{_datadir}/aclocal/glib-gettext.m4
324 %{_datadir}/aclocal/gsettings.m4
325 %dir %{_datadir}/glib-2.0/
326 %{_datadir}/glib-2.0/gdb/
327 %{_datadir}/glib-2.0/gettext/
328 %{_datadir}/glib-2.0/schemas/gschema.dtd
329 %{_includedir}/glib-2.0
330 %{_includedir}/gio-unix-2.0
332 %dir %{_libdir}/glib-2.0/
333 %{_libdir}/glib-2.0/include/
334 %{_libdir}/pkgconfig/*.pc
335 %{_datadir}/gdb/auto-load/%{_libdir}/*-gdb.py
336 %if 0%{?with_systemtap}
337 %{_datadir}/systemtap/tapset/*.stp
339 %{_sysconfdir}/rpm/macros.glib2
340 # Own these directories to not depend on gdb
342 %dir %{_datadir}/gdb/auto-load
343 %dir %{_datadir}/gdb/auto-load%{_prefix}
344 %dir %{_datadir}/gdb/auto-load%{_libdir}
347 %defattr(-,root,root)