source: general/genlib/glib2.xml@ 8f2d2ba0

12.1 ken/TL2024 lazarus plabs/newcss rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since 8f2d2ba0 was 6f55f20, checked in by Douglas R. Reno <renodr@…>, 6 months ago

Update to glib-2.78.3

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