source: general/genlib/glib2.xml@ fa559f1

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since fa559f1 was e9edfe00, checked in by Douglas R. Reno <renodr@…>, 9 months ago

Update to glib-2.78.0

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