source: general/genlib/glib2.xml@ 4509c956

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 4509c956 was 4509c956, checked in by Bruce Dubbs <bdubbs@…>, 6 years ago

Update to glib-2.56.0

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@19964 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 17.1 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/2.56/glib-&glib2-version;.tar.xz">
8 <!ENTITY glib2-download-ftp "&gnome-download-ftp;/glib/2.56/glib-&glib2-version;.tar.xz">
9 <!ENTITY glib2-md5sum "f2b59392f2fb514bbe7791dda0c36da5">
10 <!ENTITY glib2-size "7.7 MB">
11 <!ENTITY glib2-buildsize "149 MB (add 1 MB for tests)">
12 <!ENTITY glib2-time "0.3 SBU (add 0.4 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 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>GLib-&glib2-version;</title>
24
25 <indexterm zone="glib2">
26 <primary sortas="a-GLib2">GLib2</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to GLib</title>
31
32 <para>
33 The <application>GLib</application> package contains low-level
34 libraries useful for providing data structure handling for C, portability
35 wrappers and interfaces for such runtime functionality as an
36 event loop, threads, dynamic loading and an object system.
37 </para>
38
39 &lfs82_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&glib2-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&glib2-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &glib2-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &glib2-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &glib2-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &glib2-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Required patch:
80 <ulink url="&patch-root;/glib-&glib2-version;-meson_fixes-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="pcre"/> (built with Unicode properties)
96 </para>
97
98 <bridgehead renderas="sect4">Optional</bridgehead>
99 <para role="optional">
100 <xref linkend="dbus"/> (required for some tests),
101<!-- <xref linkend="elfutils"/> and -->
102 <xref linkend="DocBook"/>,
103 <xref linkend="docbook-xsl"/>, and
104 <xref linkend="libxslt"/> (to build manual pages)
105
106 <!-- <xref linkend="gtk-doc"/> cound not find a reference to this
107 in the meson build -->
108 </para>
109
110 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
111 <para role="recommended">
112 <xref role="runtime" linkend="gobject-introspection"/>
113 (should be installed before gtk+, atk, etc.)
114 </para>
115 <para role="optional">
116 Quoted directly from the <filename>INSTALL</filename> file:
117 <quote>Some of the mimetype-related functionality in GIO requires the
118 <command>update-mime-database</command> and
119 <command>update-desktop-database</command> utilities</quote>,
120 which are part of
121 <xref role="runtime" linkend="shared-mime-info"/> and
122 <xref role="runtime" linkend="desktop-file-utils"/>, respectively.
123 </para>
124
125 <para condition="html" role="usernotes">User Notes:
126 <ulink url="&blfs-wiki;/glib2"/>
127 </para>
128 </sect2>
129
130 <sect2 role="installation">
131 <title>Installation of GLib</title>
132
133 <para>If desired, appy the optional patch. In many cases, applications that
134 use this library, either directly or indirectly via other libraries such
135 as <xref linkend="gtk3"/>, output numerous warnings when run from the
136 command line. This patch enables the use of an environment variable,
137 GLIB_LOG_LEVEL, that supresses unwanted messages. The value of the
138 variable is a digit that corresponds to:</para>
139
140 <simplelist>
141 <member>1 Alert</member>
142 <member>2 Critical</member>
143 <member>3 Error</member>
144 <member>4 Warning</member>
145 <member>5 Notice</member>
146 </simplelist>
147
148 <para>For instance GLIB_LOG_LEVEL=4 will skip output of Warning and
149 Notice messages (and Info/Debug messages if they are turned on).
150 If GLIB_LOG_LEVEL is not defined, normal message output will not
151 be affected.</para>
152
153<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch</userinput></screen>
154
155 <warning>
156 <para>
157 If upgrading from a previous version of GLib that was built using
158 autotools, and the <application>libtool</application> archives were
159 installed, you will need to adjust all installed libtool archives to
160 replace references to the libtool archives for this package,
161 <filename>/usr/lib/libg{io,lib,module,object,thread}-2.0.la</filename>,
162 with the appropriate linker library flag (-l),
163 <command>-lg{io,lib,module,object,thread}</command>. 600+ files must
164 be modified on a complete gnome desktop.
165<!-- Issue the following commands as the
166 <systemitem class="username">root</systemitem> user: -->
167 </para>
168
169<!-- Sorry, I broke my system berore I was able to fully test these commands
170 Feel free to test and uncomment if sane (I believe they are, but will
171 not introduce to end-users until it is tested thoroughly). - DJ
172
173<screen>if test -f /usr/lib/libglib-2.0.la; then
174 mkdir /usr/lib/la-file-backup &amp;&amp;
175 for lafile in /usr/lib/libg{io,lib,module,object,thread}-2.0.la; do
176 mv "${lafile}" /usr/lib/la-file-backup/$(basename "${lafile}").bak
177 done &amp;&amp;
178 for file in `find /usr/lib -name "*.la"`; do
179 grep -q '/usr/lib/libg\(io\|module\|lib\|object\|thread\)-2.0.la' \
180 "${file}" &amp;&amp;
181 sed -e 's@/usr/lib/libg\(io\|module\|lib\|object\|thread\)-2.0.la@-lg\1@g' \
182 -i.bak "${file}" &amp;&amp;
183 mv -v "${file}.bak" /usr/lib/la-file-backup
184 done
185fi</screen>-->
186 </warning>
187
188 <para>
189 Install <application>GLib</application> by running the following
190 commands:
191 </para>
192
193<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-meson_fixes-1.patch &amp;&amp;
194
195mkdir build-glib &amp;&amp;
196cd build-glib &amp;&amp;
197
198meson --prefix=/usr -Dwith-pcre=system -Dwith-docs=no .. &amp;&amp;
199ninja</userinput></screen>
200
201 <para>
202 The <application>GLib</application> test suite requires
203 <application>desktop-file-utils</application> for some tests. However,
204 <application>desktop-file-utils</application> requires
205 <application>GLib</application> in order to compile; therefore, you must
206 first install <application>GLib</application> and then run the test
207 suite.
208 </para>
209
210 <para>
211 Now, as the <systemitem class="username">root</systemitem> user:
212 </para>
213
214 <note><para>
215 If <xref linkend="libxslt"/> is installed, the following command may
216 indicate several (about 33) errors that start with "Error: no ID for
217 constraint linkend:" when installing the man pages. These are harmless.
218 </para></note>
219
220<screen role="root"><userinput>ninja install &amp;&amp;
221
222chmod -v 755 /usr/bin/{gdbus-codegen,glib-gettextize} &amp;&amp;
223
224mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
225cp -r ../docs/reference/{NEWS,gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
226
227 <para>
228 You should now install <xref linkend="desktop-file-utils"/> and proceed to
229 run the test suite.
230 </para>
231
232 <para>
233 To test the results, after having installed the package, issue:
234 <command>ninja test</command>. When run in a graphical environment,
235 one test, appinfo, fails if <xref linkend='gnome-terminal'/> is not
236 installed.
237 </para>
238
239 </sect2>
240
241 <sect2 role="commands">
242 <title>Command Explanations</title>
243
244 <para>
245 <command>sed ... meson.build</command>: Fix the version of
246 the package to be consistent with other version numbers embedded
247 in the code.
248 </para>
249
250 <para>
251 <parameter>-Dwith-pcre=system</parameter>: This switch causes the
252 build to use a system-provided version of the
253 <application>PCRE</application> library instead of an internal
254 version.
255 </para>
256
257 <para>
258 <parameter>-Dwith-docs=no</parameter>: This switch prevents
259 rebuilding the package documentation.
260 </para>
261
262 </sect2>
263
264 <sect2 role="content">
265 <title>Contents</title>
266
267 <segmentedlist>
268 <segtitle>Installed Programs</segtitle>
269 <segtitle>Installed Libraries</segtitle>
270 <segtitle>Installed Directories</segtitle>
271
272 <seglistitem>
273 <seg>
274 gapplication, gdbus, gdbus-codegen,
275 gio, gio-querymodules,
276 glib-compile-resources, glib-compile-schemas,
277 glib-genmarshal, glib-gettextize,
278 glib-mkenums, gobject-query,
279 gresource, gsettings,
280 gtester, and gtester-report
281 </seg>
282 <seg>
283 libgio-2.0.so,
284 libglib-2.0.so,
285 libgmodule-2.0.so,
286 libgobject-2.0.so, and
287 libgthread-2.0.so
288 </seg>
289 <seg>
290 /usr/include/gio-unix-2.0,
291 /usr/include/glib-2.0,
292 /usr/lib/gio,
293 /usr/lib/glib-2.0, and
294 /usr/share/glib-2.0
295 </seg>
296 </seglistitem>
297 </segmentedlist>
298
299 <variablelist>
300 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
301 <?dbfo list-presentation="list"?>
302 <?dbhtml list-presentation="table"?>
303
304 <varlistentry id="gapplication">
305 <term><command>gapplication</command></term>
306 <listitem>
307 <para>
308 can be used to start applications and to send
309 messages to already-running instances of other applications.
310 </para>
311 <indexterm zone="glib2 gapplication">
312 <primary sortas="b-gapplication">application</primary>
313 </indexterm>
314 </listitem>
315 </varlistentry>
316 <varlistentry id="gdbus">
317 <term><command>gdbus</command></term>
318 <listitem>
319 <para>
320 is a simple tool used for working with
321 <application>D-Bus</application> objects.
322 </para>
323 <indexterm zone="glib2 gdbus">
324 <primary sortas="b-gdbus">gdbus</primary>
325 </indexterm>
326 </listitem>
327 </varlistentry>
328
329 <varlistentry id="gdbus-codegen">
330 <term><command>gdbus-codegen</command></term>
331 <listitem>
332 <para>
333 is used to generate code and/or documentation for one or
334 more <application>D-Bus</application> interfaces.
335 </para>
336 <indexterm zone="glib2 gdbus-codegen">
337 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
338 </indexterm>
339 </listitem>
340 </varlistentry>
341
342 <varlistentry id="gio">
343 <term><command>gio</command></term>
344 <listitem>
345 <para>
346 is a utility that makes many <application>GIO</application>
347 features available from the command line.
348 </para>
349 <indexterm zone="glib2 gio">
350 <primary sortas="b-gio">gio</primary>
351 </indexterm>
352 </listitem>
353 </varlistentry>
354
355 <varlistentry id="gio-querymodules">
356 <term><command>gio-querymodules</command></term>
357 <listitem>
358 <para>
359 is used to create a <filename>giomodule.cache</filename> file in
360 the listed directories. This file lists the implemented extension
361 points for each module that has been found.
362 </para>
363 <indexterm zone="glib2 gio-querymodules">
364 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
365 </indexterm>
366 </listitem>
367 </varlistentry>
368
369 <varlistentry id="glib-compile-resources">
370 <term><command>glib-compile-resources</command></term>
371 <listitem>
372 <para>
373 is used to read the resource description from a file and
374 the files that it references to create a binary resource
375 bundle that is suitable for use with the GResource API.
376 </para>
377 <indexterm zone="glib2 glib-compile-resources">
378 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
379 </indexterm>
380 </listitem>
381 </varlistentry>
382
383 <varlistentry id="glib-compile-schemas">
384 <term><command>glib-compile-schemas</command></term>
385 <listitem>
386 <para>
387 is used to compile all the GSettings XML schema files
388 in directory into a binary file with the name
389 <filename>gschemas.compiled</filename> that can be used by GSettings.
390 </para>
391 <indexterm zone="glib2 glib-compile-schemas">
392 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
393 </indexterm>
394 </listitem>
395 </varlistentry>
396
397 <varlistentry id="glib-genmarshal">
398 <term><command>glib-genmarshal</command></term>
399 <listitem>
400 <para>
401 is a C code marshaller generation utility for GLib closures.
402 </para>
403 <indexterm zone="glib2 glib-genmarshal">
404 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
405 </indexterm>
406 </listitem>
407 </varlistentry>
408
409 <varlistentry id="glib-gettextize">
410 <term><command>glib-gettextize</command></term>
411 <listitem>
412 <para>
413 is a variant of the <application>gettext</application>
414 internationalization utility.
415 </para>
416 <indexterm zone="glib2 glib-gettextize">
417 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="glib-mkenums">
423 <term><command>glib-mkenums</command></term>
424 <listitem>
425 <para>
426 is a C language enum description generation utility.
427 </para>
428 <indexterm zone="glib2 glib-mkenums">
429 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
434 <varlistentry id="gobject-query">
435 <term><command>gobject-query</command></term>
436 <listitem>
437 <para>
438 is a small utility that draws a tree of types.
439 </para>
440 <indexterm zone="glib2 gobject-query">
441 <primary sortas="b-gobject-query">gobject-query</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445
446 <varlistentry id="gresource">
447 <term><command>gresource</command></term>
448 <listitem>
449 <para>
450 offers a simple command line interface to GResource.
451 </para>
452 <indexterm zone="glib2 gresource">
453 <primary sortas="b-gresource">gresource</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="gsettings">
459 <term><command>gsettings</command></term>
460 <listitem>
461 <para>
462 offers a simple command line interface to GSettings.
463 </para>
464 <indexterm zone="glib2 gsettings">
465 <primary sortas="b-gsettings">gsettings</primary>
466 </indexterm>
467 </listitem>
468 </varlistentry>
469
470 <varlistentry id="gtester">
471 <term><command>gtester</command></term>
472 <listitem>
473 <para>
474 is a test running utility.
475 </para>
476 <indexterm zone="glib2 gtester">
477 <primary sortas="b-gtester">gtester</primary>
478 </indexterm>
479 </listitem>
480 </varlistentry>
481
482 <varlistentry id="gtester-report">
483 <term><command>gtester-report</command></term>
484 <listitem>
485 <para>
486 is a test report formatting utility.
487 </para>
488 <indexterm zone="glib2 gtester-report">
489 <primary sortas="b-gtester-report">gtester-report</primary>
490 </indexterm>
491 </listitem>
492 </varlistentry>
493
494 <varlistentry id="GLib-libraries">
495 <term>GLib libraries</term>
496 <listitem>
497 <para>
498 contain low-level core libraries for the
499 <application>GIMP</application> Toolkit.
500 </para>
501 <indexterm zone="glib2 GLib-libraries">
502 <primary sortas="c-GLib-libraries">Glib libraries</primary>
503 </indexterm>
504 </listitem>
505 </varlistentry>
506
507 </variablelist>
508
509 </sect2>
510
511</sect1>
Note: See TracBrowser for help on using the repository browser.