source: general/genlib/glib2.xml@ 89a8d9a

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 89a8d9a was b327731, checked in by Pierre Labastie <pierre.labastie@…>, 18 months ago

Update to glib-2.74.3

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