source: general/genlib/glib2.xml@ c5ad78e

11.2 trunk xry111/soup3
Last change on this file since c5ad78e was c5ad78e, checked in by Pierre Labastie <pierre.labastie@…>, 3 months ago

Update to glib2-2.72.3

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