source: general/genlib/glib2.xml@ 6489da7

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 6489da7 was 6489da7, checked in by Pierre Labastie <pieere@…>, 4 years ago

a few fixes for glib-2.64.0:

  • download url: change the entities so that a change is needed only in package.ent
  • move a note to where it should be
  • add the patch (at r4079 in patch repo)

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22809 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 16.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY glib2-download-http "&gnome-download-http;/glib/&glib2-minor;/glib-&glib2-version;.tar.xz">
8 <!ENTITY glib2-download-ftp "&gnome-download-ftp;/glib/&glib2-minor;/glib-&glib2-version;.tar.xz">
9 <!ENTITY glib2-md5sum "371da59c0dde8675147e32361ef10d68">
10 <!ENTITY glib2-size "4.5 MB">
11 <!ENTITY glib2-buildsize "176 MB (add 6 MB for tests)">
12 <!ENTITY glib2-time "0.5 SBU (add 0.5 SBU for tests; both using parallelism=4)">
13]>
14
15<sect1 id="glib2" xreflabel="GLib-&glib2-version;">
16 <?dbhtml filename="glib2.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>GLib-&glib2-version;</title>
24
25 <indexterm zone="glib2">
26 <primary sortas="a-GLib2">GLib2</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to GLib</title>
31
32 <para>
33 The <application>GLib</application> package contains low-level
34 libraries useful for providing data structure handling for C, portability
35 wrappers and interfaces for such runtime functionality as an
36 event loop, threads, dynamic loading and an object system.
37 </para>
38
39 &lfs91_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&glib2-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&glib2-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &glib2-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &glib2-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &glib2-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &glib2-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Optional patch:
80 <ulink url="&patch-root;/glib-&glib2-version;-skip_warnings-1.patch"/>
81 </para>
82 </listitem>
83 </itemizedlist>
84
85 <bridgehead renderas="sect3">GLib Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Recommended</bridgehead>
88 <para role="recommended">
89 <xref linkend="libxslt"/> and
90 <xref linkend="pcre"/> (built with Unicode properties)
91 </para>
92
93 <bridgehead renderas="sect4">Optional</bridgehead>
94 <para role="optional">
95 <xref linkend="dbus"/> and
96 <ulink url="https://bindfs.org/">bindfs</ulink>
97 (both may be used in some tests),
98 <xref linkend="gdb"/> (for bindings),
99 <xref linkend="DocBook"/>,
100 <xref linkend="docbook-xsl"/>, and
101 <xref linkend="gtk-doc"/>
102 (to build API documentation)
103 </para>
104
105 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
106 <para role="recommended">
107 <xref role="runtime" linkend="gobject-introspection"/>
108 (should be installed before gtk+, atk, etc.)
109 </para>
110 <para role="optional">
111 Quoted directly from the <filename>INSTALL</filename> file:
112 <quote>Some of the mimetype-related functionality in GIO requires the
113 <command>update-mime-database</command> and
114 <command>update-desktop-database</command> utilities</quote>,
115 which are part of
116 <xref role="runtime" linkend="shared-mime-info"/> and
117 <xref role="runtime" linkend="desktop-file-utils"/>, respectively.
118 These two utilities are also needed for some tests.
119 </para>
120
121 <para condition="html" role="usernotes">User Notes:
122 <ulink url="&blfs-wiki;/glib2"/>
123 </para>
124 </sect2>
125
126 <sect2 role="installation">
127 <title>Installation of GLib</title>
128
129 <para>If desired, apply the optional patch. In many cases, applications that
130 use this library, either directly or indirectly via other libraries such
131 as <xref linkend="gtk3"/>, output numerous warnings when run from the
132 command line. This patch enables the use of an environment variable,
133 GLIB_LOG_LEVEL, that supresses unwanted messages. The value of the
134 variable is a digit that corresponds to:</para>
135
136 <simplelist>
137 <member>1 Alert</member>
138 <member>2 Critical</member>
139 <member>3 Error</member>
140 <member>4 Warning</member>
141 <member>5 Notice</member>
142 </simplelist>
143
144 <para>For instance GLIB_LOG_LEVEL=4 will skip output of Warning and
145 Notice messages (and Info/Debug messages if they are turned on).
146 If GLIB_LOG_LEVEL is not defined, normal message output will not
147 be affected.</para>
148
149<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch</userinput></screen>
150
151 <warning>
152 <para>
153
154 If upgrading from a previous version of GLib that was built using
155 autotools, and the <application>libtool</application> archives (.la
156 files) were installed, you will need to adjust all installed libtool
157 archives,
158 <filename>/usr/lib/libg{io,lib,module,object,thread}-2.0.la</filename>,
159 to replace references to the libtool archives for this package with the
160 appropriate linker library flag (-l),
161 <command>-lg{io,lib,module,object,thread}</command>. 600+ files must be
162 modified on a complete gnome desktop.
163
164 </para>
165
166 <para>
167 Alternatively, you can just remove the unneeded .la files
168 with the script at <xref linkend="la-files"/>.
169 </para>
170 </warning>
171
172 <para>
173 Install <application>GLib</application> by running the following
174 commands:
175 </para>
176
177<screen><userinput>mkdir build &amp;&amp;
178cd build &amp;&amp;
179
180meson --prefix=/usr \
181 -Dman=true \
182 -Dselinux=disabled \
183 .. &amp;&amp;
184ninja</userinput></screen>
185
186 <note><para>
187 If <xref linkend="libxslt"/> is installed, the above command may
188 indicate several (about 33) errors that start with "Error: no ID for
189 constraint linkend:" when gnerating the man pages. These are harmless.
190 </para></note>
191
192 <para>
193 The <application>GLib</application> test suite requires
194 <application>desktop-file-utils</application> for some tests. However,
195 <application>desktop-file-utils</application> requires
196 <application>GLib</application> in order to compile; therefore, you must
197 first install <application>GLib</application> and then run the test
198 suite.
199 </para>
200
201 <para>
202 Now, as the <systemitem class="username">root</systemitem> user:
203 </para>
204
205<screen role="root"><userinput>ninja install &amp;&amp;
206
207mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
208cp -r ../docs/reference/{NEWS,gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
209
210 <para>
211 You should now install <xref linkend="desktop-file-utils"/> and
212 <xref linkend="shared-mime-info"/> and proceed to
213 run the test suite.
214 </para>
215
216 <para>
217 To test the results, after having installed the package, issue:
218 <command>ninja test</command>.
219 <!-- glib issue #1954: -->
220 One test named gdbus-server-auth sometimes fails.
221 <!-- SysV has the symlink now, so gdatetime no longer fails.-->
222 <!-- Needs /etc/localtime to be a symbolic link. In addition
223 the link must be to some place like /usr/share/zoneinfo/...
224
225 This can be overcome if the line below in glib/tests/gdatetime.c
226 is removed or commented out.
227 g_assert_true (*g_time_zone_get_identifier (tz) != '/');
228
229 NOTE: systemd implements this as a hard requirement.
230 -->
231 <!-- with 2.60.4 on systemd, all tests pass. -->
232 </para>
233
234 </sect2>
235
236 <sect2 role="commands">
237 <title>Command Explanations</title>
238
239 <para>
240 <parameter>-Dman=true</parameter>: This switch causes the
241 build to create and install the package man pages.
242 </para>
243
244 <para>
245 <parameter>-Dselinux=disabled</parameter>: This switch disables
246 support for selinux which is not supported in BLFS.
247 </para>
248
249 <para>
250 <option>-Ddoc=true</option>: This switch causes the
251 build to create and install the API documentation.
252 </para>
253
254 </sect2>
255
256 <sect2 role="content">
257 <title>Contents</title>
258
259 <segmentedlist>
260 <segtitle>Installed Programs</segtitle>
261 <segtitle>Installed Libraries</segtitle>
262 <segtitle>Installed Directories</segtitle>
263
264 <seglistitem>
265 <seg>
266 gapplication, gdbus, gdbus-codegen,
267 gio, gio-launch-desktop, gio-querymodules,
268 glib-compile-resources, glib-compile-schemas,
269 glib-genmarshal, glib-gettextize,
270 glib-mkenums, gobject-query,
271 gresource, gsettings,
272 gtester, and gtester-report
273 </seg>
274 <seg>
275 libgio-2.0.so,
276 libglib-2.0.so,
277 libgmodule-2.0.so,
278 libgobject-2.0.so, and
279 libgthread-2.0.so
280 </seg>
281 <seg>
282 /usr/include/gio-unix-2.0,
283 /usr/include/glib-2.0,
284 /usr/lib/glib-2.0,
285 /usr/share/glib-2.0, and
286 /usr/share/gtk-doc/html/{gio,glib,gobject}
287 </seg>
288 </seglistitem>
289 </segmentedlist>
290
291 <variablelist>
292 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
293 <?dbfo list-presentation="list"?>
294 <?dbhtml list-presentation="table"?>
295
296 <varlistentry id="gapplication">
297 <term><command>gapplication</command></term>
298 <listitem>
299 <para>
300 can be used to start applications and to send
301 messages to already-running instances of other applications.
302 </para>
303 <indexterm zone="glib2 gapplication">
304 <primary sortas="b-gapplication">application</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308 <varlistentry id="gdbus">
309 <term><command>gdbus</command></term>
310 <listitem>
311 <para>
312 is a simple tool used for working with
313 <application>D-Bus</application> objects.
314 </para>
315 <indexterm zone="glib2 gdbus">
316 <primary sortas="b-gdbus">gdbus</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
321 <varlistentry id="gdbus-codegen">
322 <term><command>gdbus-codegen</command></term>
323 <listitem>
324 <para>
325 is used to generate code and/or documentation for one or
326 more <application>D-Bus</application> interfaces.
327 </para>
328 <indexterm zone="glib2 gdbus-codegen">
329 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
330 </indexterm>
331 </listitem>
332 </varlistentry>
333
334 <varlistentry id="gio">
335 <term><command>gio</command></term>
336 <listitem>
337 <para>
338 is a utility that makes many <application>GIO</application>
339 features available from the command line.
340 </para>
341 <indexterm zone="glib2 gio">
342 <primary sortas="b-gio">gio</primary>
343 </indexterm>
344 </listitem>
345 </varlistentry>
346
347 <varlistentry id="gio-querymodules">
348 <term><command>gio-querymodules</command></term>
349 <listitem>
350 <para>
351 is used to create a <filename>giomodule.cache</filename> file in
352 the listed directories. This file lists the implemented extension
353 points for each module that has been found.
354 </para>
355 <indexterm zone="glib2 gio-querymodules">
356 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
357 </indexterm>
358 </listitem>
359 </varlistentry>
360
361 <varlistentry id="glib-compile-resources">
362 <term><command>glib-compile-resources</command></term>
363 <listitem>
364 <para>
365 is used to read the resource description from a file and
366 the files that it references to create a binary resource
367 bundle that is suitable for use with the GResource API.
368 </para>
369 <indexterm zone="glib2 glib-compile-resources">
370 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
375 <varlistentry id="glib-compile-schemas">
376 <term><command>glib-compile-schemas</command></term>
377 <listitem>
378 <para>
379 is used to compile all the GSettings XML schema files
380 in a directory into a binary file with the name
381 <filename>gschemas.compiled</filename> that can be used by GSettings.
382 </para>
383 <indexterm zone="glib2 glib-compile-schemas">
384 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
385 </indexterm>
386 </listitem>
387 </varlistentry>
388
389 <varlistentry id="glib-genmarshal">
390 <term><command>glib-genmarshal</command></term>
391 <listitem>
392 <para>
393 is a C code marshaller generation utility for GLib closures.
394 </para>
395 <indexterm zone="glib2 glib-genmarshal">
396 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
397 </indexterm>
398 </listitem>
399 </varlistentry>
400
401 <varlistentry id="glib-gettextize">
402 <term><command>glib-gettextize</command></term>
403 <listitem>
404 <para>
405 is a variant of the <application>gettext</application>
406 internationalization utility.
407 </para>
408 <indexterm zone="glib2 glib-gettextize">
409 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
410 </indexterm>
411 </listitem>
412 </varlistentry>
413
414 <varlistentry id="glib-mkenums">
415 <term><command>glib-mkenums</command></term>
416 <listitem>
417 <para>
418 is a C language enum description generation utility.
419 </para>
420 <indexterm zone="glib2 glib-mkenums">
421 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
422 </indexterm>
423 </listitem>
424 </varlistentry>
425
426 <varlistentry id="gobject-query">
427 <term><command>gobject-query</command></term>
428 <listitem>
429 <para>
430 is a small utility that draws a tree of types.
431 </para>
432 <indexterm zone="glib2 gobject-query">
433 <primary sortas="b-gobject-query">gobject-query</primary>
434 </indexterm>
435 </listitem>
436 </varlistentry>
437
438 <varlistentry id="gresource">
439 <term><command>gresource</command></term>
440 <listitem>
441 <para>
442 offers a simple command line interface to GResource.
443 </para>
444 <indexterm zone="glib2 gresource">
445 <primary sortas="b-gresource">gresource</primary>
446 </indexterm>
447 </listitem>
448 </varlistentry>
449
450 <varlistentry id="gsettings">
451 <term><command>gsettings</command></term>
452 <listitem>
453 <para>
454 offers a simple command line interface to GSettings.
455 </para>
456 <indexterm zone="glib2 gsettings">
457 <primary sortas="b-gsettings">gsettings</primary>
458 </indexterm>
459 </listitem>
460 </varlistentry>
461
462 <varlistentry id="gtester">
463 <term><command>gtester</command></term>
464 <listitem>
465 <para>
466 is a test running utility.
467 </para>
468 <indexterm zone="glib2 gtester">
469 <primary sortas="b-gtester">gtester</primary>
470 </indexterm>
471 </listitem>
472 </varlistentry>
473
474 <varlistentry id="gtester-report">
475 <term><command>gtester-report</command></term>
476 <listitem>
477 <para>
478 is a test report formatting utility.
479 </para>
480 <indexterm zone="glib2 gtester-report">
481 <primary sortas="b-gtester-report">gtester-report</primary>
482 </indexterm>
483 </listitem>
484 </varlistentry>
485
486 <varlistentry id="GLib-libraries">
487 <term>GLib libraries</term>
488 <listitem>
489 <para>
490 contain low-level core libraries for the
491 <application>GIMP</application> Toolkit.
492 </para>
493 <indexterm zone="glib2 GLib-libraries">
494 <primary sortas="c-GLib-libraries">Glib libraries</primary>
495 </indexterm>
496 </listitem>
497 </varlistentry>
498
499 </variablelist>
500
501 </sect2>
502
503</sect1>
Note: See TracBrowser for help on using the repository browser.