source: general/genlib/glib2.xml@ 4454113

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 xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 4454113 was 25ce227, checked in by Bruce Dubbs <bdubbs@…>, 20 months ago

Update to glib-2.74.0.

  • Property mode set to 100644
File size: 17.5 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 "06745709784eddb4a3860e1814f795e8">
10 <!ENTITY glib2-size "4.9 MB">
11 <!ENTITY glib2-buildsize "119 MB (add 7 MB for tests)">
12 <!ENTITY glib2-time "0.4 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 &lfs112_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 <listitem>
77 <para>
78 Optional patch:
79 <ulink url="&patch-root;/glib-&glib2-version;-skip_warnings-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
83
84 <bridgehead renderas="sect3">GLib Dependencies</bridgehead>
85
86 <bridgehead renderas="sect4">Recommended</bridgehead>
87 <para role="recommended">
88 <xref linkend="libxslt"/> and
89 <xref linkend="pcre2"/>
90 </para>
91
92 <bridgehead renderas="sect4">Optional</bridgehead>
93 <para role="optional">
94 <xref linkend="dbus"/> and
95 <ulink url="https://bindfs.org/">bindfs</ulink>
96 (both may be used in some tests),
97 <xref linkend="gdb"/> (for bindings),
98 <xref linkend="DocBook"/>,
99 <xref linkend="docbook-xsl"/>,
100 <xref linkend="gtk-doc"/> (to build API documentation),
101 <xref linkend="glib-networking"/> (for some tests, but this is a circular
102 dependency), and
103 <xref linkend="sysprof"/>
104 </para>
105
106 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
107 <para role="recommended">
108 <xref role="runtime" linkend="gobject-introspection"/>
109 (should be installed before gtk+, atk, etc.)
110 </para>
111 <para role="optional">
112 Quoted directly from the <filename>INSTALL</filename> file:
113 <quote>Some of the mimetype-related functionality in GIO requires the
114 <command>update-mime-database</command> and
115 <command>update-desktop-database</command> utilities</quote>,
116 which are part of
117 <xref role="runtime" linkend="shared-mime-info"/> and
118 <xref role="runtime" linkend="desktop-file-utils"/>, respectively.
119 These two utilities are also needed for some tests.
120 </para>
121
122 <para condition="html" role="usernotes">User Notes:
123 <ulink url="&blfs-wiki;/glib2"/>
124 </para>
125 </sect2>
126
127 <sect2 role="installation">
128 <title>Installation of GLib</title>
129 <!-- Remove the next para and screen for glib-2.72.3 or above
130 <para>
131 First, fix an issue in MIME file content lookup, which may prevent
132 displaying <command>file://</command> URL's in webkitgtk based browsers.
133 </para>
134
135<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-fix_xdgmime-1.patch</userinput></screen>
136-->
137 <para>
138 If desired, apply the optional patch. In many cases, applications that
139 use this library, either directly or indirectly via other libraries such
140 as <xref linkend="gtk3"/>, output numerous warnings when run from the
141 command line. This patch enables the use of an environment variable,
142 <envar>GLIB_LOG_LEVEL</envar>, that suppresses unwanted messages. The
143 value of the variable is a digit that corresponds to:
144 </para>
145
146 <simplelist>
147 <member>1 Alert</member>
148 <member>2 Critical</member>
149 <member>3 Error</member>
150 <member>4 Warning</member>
151 <member>5 Notice</member>
152 </simplelist>
153
154 <para>
155 For instance <userinput>export GLIB_LOG_LEVEL=4</userinput> will skip
156 output of Warning and Notice messages (and Info/Debug messages if they
157 are turned on). If <envar>GLIB_LOG_LEVEL</envar> is not defined, normal
158 message output will not be affected.
159 </para>
160
161<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch</userinput></screen>
162
163 <warning>
164 <para>
165 If a previous version of glib is installed, move the headers out of the
166 way so that later packages do not encounter conflicts:
167 </para>
168
169<screen role="root"><userinput remap="pre">if [ -e /usr/include/glib-2.0 ]; then
170 rm -rf /usr/include/glib-2.0.old &amp;&amp;
171 mv -vf /usr/include/glib-2.0{,.old}
172fi</userinput></screen>
173
174 </warning>
175
176 <para>
177 Install <application>GLib</application> by running the following
178 commands:
179 </para>
180
181<screen><userinput>mkdir build &amp;&amp;
182cd build &amp;&amp;
183
184meson --prefix=/usr \
185 --buildtype=release \
186 -Dman=true \
187 .. &amp;&amp;
188ninja</userinput></screen>
189
190 <note><para>
191 If <xref linkend="libxslt"/> is installed, the above command may
192 indicate several (about 33) errors that start with "Error: no ID for
193 constraint linkend:" when generating the man pages. These are harmless.
194 </para></note>
195
196 <para>
197 The <application>GLib</application> test suite requires
198 <application>desktop-file-utils</application> for some tests. However,
199 <application>desktop-file-utils</application> requires
200 <application>GLib</application> in order to compile; therefore, you must
201 first install <application>GLib</application> and then run the test
202 suite.
203 </para>
204
205 <para>
206 Now, as the <systemitem class="username">root</systemitem> user:
207 </para>
208
209<screen role="root"><userinput>ninja install &amp;&amp;
210
211mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
212cp -r ../docs/reference/{gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
213
214 <para>
215 You should now install <xref linkend="desktop-file-utils"/> and
216 <xref linkend="shared-mime-info"/> and proceed to
217 run the test suite.
218 </para>
219
220 <warning>
221 <para>
222 Do not run the test suite as &root; or some tests will fail
223 unexpectedly and leave some non-FHS-compliant directories in the
224 <filename class='directory'>/usr</filename> hierarchy.
225 </para>
226 </warning>
227
228 <para>
229 To test the results, after having installed the package, issue:
230 <command>LC_ALL=C ninja test</command> as a non-&root; user.
231 <!-- glib issue #1954: -->
232 <!-- One test named gdbus-server-auth sometimes fails.-->
233 <!-- SysV has the symlink now, so gdatetime no longer fails.-->
234 <!-- Needs /etc/localtime to be a symbolic link. In addition
235 the link must be to some place like /usr/share/zoneinfo/...
236
237 This can be overcome if the line below in glib/tests/gdatetime.c
238 is removed or commented out.
239 g_assert_true (*g_time_zone_get_identifier (tz) != '/');
240
241 NOTE: systemd implements this as a hard requirement. -->
242 <!-- with 2.60.4 on systemd, all tests pass. -->
243 <!-- with 2.64.1 on sysV, all tests pass. -->
244 <!-- with 2.70.1 on sysV, all tests pass. -->
245 <!-- with 2.70.2 on sysV, all tests pass. -->
246 <!-- with 2.72.3 on sysV, all tests pass. [pierre, July 2022] -->
247 <!-- with 2.74.0 on sysV, all tests pass. [bdubbs, Sep 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.