1 %define with_systemtap 0
8 # FIXME: find out if tapsets should really be in devel package or in main package
9 Summary: General-Purpose Utility Library
11 Group: System/Libraries
12 Url: http://www.gtk.org/
13 Source: http://download.gnome.org/sources/glib/2.32/%{_name}-%{version}.tar.xz
16 # Not upstream file. Only proposes upstream packages:
17 Source4: glib2-upstream-gnome_defaults.conf
19 # Not depending on gtk-doc shortens bootstrap compilation path.
20 # Please update this file from the latest gtk-doc package:
22 Source99: baselibs.conf
23 BuildRequires: automake
25 BuildRequires: gcc-c++
26 BuildRequires: pkg-config
28 BuildRequires: gettext-tools
29 # gdbus-codegen is run during the build, so we need python-xml
30 BuildRequires: python-xml
31 %if 0%{?with_systemtap}
32 BuildRequires: systemtap-sdt-devel
34 # Needed for gresource
35 BuildRequires: pkgconfig(libelf) >= 0.8.12
36 BuildRequires: pkgconfig(libffi)
37 BuildRequires: pkgconfig(libpcre)
38 BuildRequires: pkgconfig(zlib)
39 %if 0%{?BUILD_FROM_VCS}
40 # It's important to keep those BuildRequires inside
41 # BUILD_FROM_VCS to avoid build loops in Factory
42 BuildRequires: git-core
43 BuildRequires: gtk-doc
45 BuildRoot: %{_tmppath}/%{name}-%{version}-build
48 GLib is a general-purpose utility library, which provides many useful
49 data types, macros, type conversions, string utilities, file utilities,
50 a main loop abstraction, and so on.
53 Summary: General-Purpose Utility Library -- Tools
54 Group: Development/Libraries/C and C++
57 GLib is a general-purpose utility library, which provides many useful
58 data types, macros, type conversions, string utilities, file utilities,
59 a main loop abstraction, and so on.
61 %package -n gio-branding-upstream
62 Summary: Upstream definitions of default settings and applications
63 Group: System/Libraries
64 Requires: libgio = %{version}
65 Provides: %{name}-branding-upstream = %{version}
66 Obsoletes: %{name}-branding-upstream < %{version}
67 Provides: gio-branding = %{version}
68 Conflicts: otherproviders(gio-branding)
69 Supplements: packageand(libgio:branding-upstream)
71 #BRAND: The /etc/gnome_defaults.conf allows to define arbitrary
72 #BRAND: applications as preferred defaults.
73 #BRAND: A /usr/share/glib-2.0/schemas/$NAME.gschema.override file can
74 #BRAND: be used to override the default value for GSettings keys. See
75 #BRAND: README.Gsettings-overrides for more details. The branding
76 #BRAND: package should then have proper Requires for features changed
77 #BRAND: with such an override file.
78 # NOTE: gnome_defaults is not an upstream feature, but a SuSE
79 # enhancement, but to conform branding conventions, the package is named
80 # as gio-branding-upstream.
82 %description -n gio-branding-upstream
83 This package provides upstream defaults for settings stored with
84 GSettings and applications used by the MIME system.
88 Requires: %{name} = %{version}
91 # Now require the subpackages too
92 Requires: glib2-tools = %{version}
93 Requires: libgio = %{version}
94 Requires: libglib = %{version}
95 Requires: libgmodule = %{version}
96 Requires: libgobject = %{version}
97 Requires: libgthread = %{version}
98 # Required by gdbus-codegen
100 Provides: glib2-doc = 2.19.6
101 Obsoletes: glib2-doc < 2.19.6
102 Summary: General-Purpose Utility Library -- Development Files
103 Group: Development/Libraries/C and C++
106 GLib is a general-purpose utility library, which provides many useful
107 data types, macros, type conversions, string utilities, file utilities,
108 a main loop abstraction, and so on.
110 This package contains the development files for GLib.
112 %package devel-static
113 Requires: %{name}-devel = %{version}
114 Summary: General-Purpose Utility Library -- Static Libraries
115 Group: Development/Libraries/C and C++
117 %description devel-static
118 GLib is a general-purpose utility library, which provides many useful
119 data types, macros, type conversions, string utilities, file utilities,
120 a main loop abstraction, and so on.
122 This package contains static versions of the GLib libraries.
125 Summary: General-Purpose Utility Library
126 Group: System/Libraries
127 Provides: %{name} = %{version}
128 Obsoletes: %{name} < %{version}
130 %description -n libglib
131 GLib is a general-purpose utility library, which provides many useful
132 data types, macros, type conversions, string utilities, file utilities,
133 a main loop abstraction, and so on.
135 %package -n libgmodule
136 Summary: General-Purpose Utility Library -- Library for Modules
137 Group: System/Libraries
139 %description -n libgmodule
140 GLib is a general-purpose utility library, which provides many useful
141 data types, macros, type conversions, string utilities, file utilities,
142 a main loop abstraction, and so on.
144 The libgmodule library provides a portable way to dynamically load
145 object files (commonly known as 'plug-ins').
148 Summary: General-Purpose Utility Library -- Library for VFS
149 Group: System/Libraries
150 Requires: gio-branding = %{version}
151 # bnc#555605: shared-mime-info is required by libgio to properly detect mime types.
152 Requires: shared-mime-info
153 # bnc#678518: libgio interacts with others by means of dbus-launch
154 #Requires: dbus-1-x11
155 Provides: gio = %{version}
157 %description -n libgio
158 GLib is a general-purpose utility library, which provides many useful
159 data types, macros, type conversions, string utilities, file utilities,
160 a main loop abstraction, and so on.
162 GIO provides a modern, easy-to-use VFS API.
165 %package -n libgthread
166 Summary: General-Purpose Utility Library -- Library for Threads
167 Group: System/Libraries
169 %description -n libgthread
170 GLib is a general-purpose utility library, which provides many useful
171 data types, macros, type conversions, string utilities, file utilities,
172 a main loop abstraction, and so on.
174 The libgthread library provides a portable way to write multi-threaded
177 %package -n libgobject
178 Summary: General-Purpose Utility Library -- Object-Oriented Framework for C
179 Group: System/Libraries
181 %description -n libgobject
182 GLib is a general-purpose utility library, which provides many useful
183 data types, macros, type conversions, string utilities, file utilities,
184 a main loop abstraction, and so on.
186 The GObject library provides an object-oriented framework for C.
189 %setup -q -n %{_name}-%{version}
190 cp -a %{S:1} %{S:2} .
191 cp -a %{S:4} gnome_defaults.conf
192 if ! test -f %{_datadir}/aclocal/gtk-doc.m4 ; then
193 cp -a %{S:7} m4macros/
195 %if 0%{?BUILD_FROM_VCS}
196 NOCONFIGURE=1 ./autogen.sh
202 %if 0%{?with_systemtap}
207 %{__make} %{?_smp_mflags} V=1
208 %if 0%{?BUILD_FROM_VCS}
213 # make check does not work on x86_64. See http://bugzilla.gnome.org/show_bug.cgi?id=554969
214 # %{__make} %{?jobs:-j%jobs} check
218 %find_lang %{_name}20 %{?no_lang_C}
219 mv %{_name}20.lang %{_name}2.lang
220 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
221 install -D -m0644 glib2.sh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.sh
222 install -D -m0644 glib2.csh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.csh
223 install -D -m0644 gnome_defaults.conf %{buildroot}%{_sysconfdir}/gnome_defaults.conf
225 mkdir -p %{buildroot}%{_localstatedir}/cache/gio-2.0 %{buildroot}%{_datadir}/applications
226 touch %{buildroot}%{_localstatedir}/cache/gio-2.0/gnome-defaults.list
227 touch %{buildroot}%{_localstatedir}/cache/gio-2.0/xfce-defaults.list
228 touch %{buildroot}%{_localstatedir}/cache/gio-2.0/lxde-defaults.list
229 ln -s %{_localstatedir}/cache/gio-2.0/gnome-defaults.list %{buildroot}%{_datadir}/applications/defaults.list
230 # gio-querymodules magic
231 %if "%{_lib}" == "lib64"
232 mv %{buildroot}%{_bindir}/gio-querymodules %{buildroot}%{_bindir}/gio-querymodules-64
234 touch %{buildroot}%{_libdir}/gio/modules/giomodule.cache
236 touch %{buildroot}%{_datadir}/glib-2.0/schemas/gschemas.compiled
237 # remove files we don't care about
238 find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
240 mkdir -p %{buildroot}%{_sysconfdir}/rpm
241 cp %{S:6} %{buildroot}%{_sysconfdir}/rpm
245 %post -n libglib -p /sbin/ldconfig
247 %post -n libgobject -p /sbin/ldconfig
249 %post -n libgthread -p /sbin/ldconfig
251 %post -n libgio -p /sbin/ldconfig
253 %post -n libgmodule -p /sbin/ldconfig
255 %postun -n libglib -p /sbin/ldconfig
257 %postun -n libgobject -p /sbin/ldconfig
259 %postun -n libgthread -p /sbin/ldconfig
261 %postun -n libgio -p /sbin/ldconfig
263 %postun -n libgmodule -p /sbin/ldconfig
267 %defattr(-,root,root)
268 %dir %{_datadir}/bash-completion
269 %dir %{_datadir}/bash-completion/completions
270 %{_datadir}/bash-completion/completions/gdbus
271 %{_datadir}/bash-completion/completions/gresource
272 %{_datadir}/bash-completion/completions/gsettings
274 %{_bindir}/gio-querymodules*
275 %{_bindir}/glib-compile-schemas
278 # We put those files here, but they don't really belong here. They just don't
279 # have a better home... The zzz-glib2 scripts could arguably be in
280 # libglib but that would break the shared library policy.
281 %{_sysconfdir}/profile.d/zzz-glib2.*
283 %files -n gio-branding-upstream
284 %defattr(-,root,root)
285 %config (noreplace) %{_sysconfdir}/gnome_defaults.conf
288 %defattr(-, root, root)
290 %{_libdir}/libglib*.so.*
293 %defattr(-, root, root)
294 %{_libdir}/libgmodule*.so.*
297 %defattr(-, root, root)
298 %{_libdir}/libgobject*.so.*
301 %defattr(-, root, root)
302 %{_libdir}/libgthread*.so.*
305 %defattr(-, root, root)
306 %{_libdir}/libgio*.so.*
308 %dir %{_libdir}/gio/modules
309 %ghost %{_libdir}/gio/modules/giomodule.cache
310 %dir %{_datadir}/glib-2.0/
311 %dir %{_datadir}/glib-2.0/schemas/
312 %ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
313 %{_datadir}/applications/defaults.list
314 %dir %{_localstatedir}/cache/gio-2.0
315 %ghost %{_localstatedir}/cache/gio-2.0/gnome-defaults.list
316 %ghost %{_localstatedir}/cache/gio-2.0/xfce-defaults.list
317 %ghost %{_localstatedir}/cache/gio-2.0/lxde-defaults.list
325 %defattr(-,root,root)
327 %{_bindir}/gdbus-codegen
328 %{_bindir}/glib-compile-resources
329 %{_bindir}/glib-genmarshal
330 %{_bindir}/glib-gettextize
331 %{_bindir}/glib-mkenums
332 %{_bindir}/gobject-query
334 %{_bindir}/gtester-report
335 %dir %{_datadir}/aclocal
336 %{_datadir}/aclocal/glib-2.0.m4
337 %{_datadir}/aclocal/glib-gettext.m4
338 %{_datadir}/aclocal/gsettings.m4
339 %dir %{_datadir}/glib-2.0/
340 %{_datadir}/glib-2.0/gdb/
341 %{_datadir}/glib-2.0/gettext/
342 %{_datadir}/glib-2.0/schemas/gschema.dtd
343 %{_includedir}/glib-2.0
344 %{_includedir}/gio-unix-2.0
346 %dir %{_libdir}/glib-2.0/
347 %dir %{_libdir}/gdbus-2.0/
348 %{_libdir}/gdbus-2.0/codegen/
349 %{_libdir}/glib-2.0/include/
350 %{_libdir}/pkgconfig/*.pc
351 %{_datadir}/gtk-doc/html/gio
352 %{_datadir}/gtk-doc/html/glib
353 %{_datadir}/gtk-doc/html/gobject
354 %{_datadir}/gdb/auto-load/%{_libdir}/*-gdb.py
355 %if 0%{?with_systemtap}
356 %{_datadir}/systemtap/tapset/*.stp
358 %{_sysconfdir}/rpm/macros.glib2
359 # Own these directories to not depend on gtk-doc while building:
360 %dir %{_datadir}/gtk-doc
361 %dir %{_datadir}/gtk-doc/html
362 # Own these directories to not depend on gdb
364 %dir %{_datadir}/gdb/auto-load
365 %dir %{_datadir}/gdb/auto-load%{_prefix}
366 %dir %{_datadir}/gdb/auto-load%{_libdir}
369 %defattr(-,root,root)