source: general/genlib/glib2.xml@ 57a7172

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 57a7172 was 57a7172, checked in by Pierre Labastie <pieere@…>, 6 years ago

Glib-2: tell what optional dependencies are for, and add one

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

  • Property mode set to 100644
File size: 16.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/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 "193 MB (add 78 MB for tests)">
12 <!ENTITY glib2-time "1.3 SBU (add 4.7 SBU for tests)">
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"/> and
101 <ulink url="https://bindfs.org/">bindfs</ulink>
102 (both may be used in some tests),
103 <xref linkend="DocBook"/>,
104 <xref linkend="docbook-xsl"/>,
105 <xref linkend="gtk-doc"/>, and
106 <xref linkend="libxslt"/>
107 (all four to build manual pages)
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 These two utilities are also needed for some tests.
124 </para>
125
126 <para condition="html" role="usernotes">User Notes:
127 <ulink url="&blfs-wiki;/glib2"/>
128 </para>
129 </sect2>
130
131 <sect2 role="installation">
132 <title>Installation of GLib</title>
133
134 <para>If desired, apply the optional patch. In many cases, applications that
135 use this library, either directly or indirectly via other libraries such
136 as <xref linkend="gtk3"/>, output numerous warnings when run from the
137 command line. This patch enables the use of an environment variable,
138 GLIB_LOG_LEVEL, that supresses unwanted messages. The value of the
139 variable is a digit that corresponds to:</para>
140
141 <simplelist>
142 <member>1 Alert</member>
143 <member>2 Critical</member>
144 <member>3 Error</member>
145 <member>4 Warning</member>
146 <member>5 Notice</member>
147 </simplelist>
148
149 <para>For instance GLIB_LOG_LEVEL=4 will skip output of Warning and
150 Notice messages (and Info/Debug messages if they are turned on).
151 If GLIB_LOG_LEVEL is not defined, normal message output will not
152 be affected.</para>
153
154<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch</userinput></screen>
155
156<!-- <warning>
157 <para>
158 If upgrading from a previous version of GLib that was built using
159 autotools, and the <application>libtool</application> archives were
160 installed, you will need to adjust all installed libtool archives to
161 replace references to the libtool archives for this package,
162 <filename>/usr/lib/libg{io,lib,module,object,thread}-2.0.la</filename>,
163 with the appropriate linker library flag (-l),
164 <command>-lg{io,lib,module,object,thread}</command>. 600+ files must
165 be modified on a complete gnome desktop.
166TODO: If reinstating meson, reference the instructions to remove .la files
167 </para>
168 </warning>
169-->
170 <para>
171 Install <application>GLib</application> by running the following
172 commands:
173 </para>
174
175<!-- To be used when meson is deemed usable by upstream
176<screen><userinput>mkdir build-glib &amp;&amp;
177cd build-glib &amp;&amp;
178
179meson - -prefix=/usr \
180 -Dwith-pcre=system \
181 -Dwith-docs=no \
182 -Dselinux=false \
183 .. &amp;&amp;
184ninja</userinput></screen>
185-->
186
187<screen><userinput>./configure --prefix=/usr \
188 --with-pcre=system \
189 --with-python=/usr/bin/python3 &amp;&amp;
190make</userinput></screen>
191 <para>
192 The <application>GLib</application> test suite requires
193 <application>desktop-file-utils</application> for some tests. However,
194 <application>desktop-file-utils</application> requires
195 <application>GLib</application> in order to compile; therefore, you must
196 first install <application>GLib</application> and then run the test
197 suite.
198 </para>
199
200 <para>
201 Now, as the <systemitem class="username">root</systemitem> user:
202 </para>
203
204 <note><para>
205 If <xref linkend="libxslt"/> is installed, the following command may
206 indicate several (about 33) errors that start with "Error: no ID for
207 constraint linkend:" when installing the man pages. These are harmless.
208 </para></note>
209
210<screen role="root"><userinput>make install</userinput></screen>
211<!-- used when built with meson/ninja
212chmod -v 755 /usr/bin/{gdbus-codegen,glib-gettextize} &amp;&amp;
213
214mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
215cp -r ../docs/reference/{NEWS,gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
216-->
217 <para>
218 You should now install <xref linkend="desktop-file-utils"/> and proceed to
219 run the test suite.
220 </para>
221
222 <para>
223 To test the results, after having installed the package, issue:
224 <command>make -k check</command>. When run in a graphical environment,
225 one test, appinfo, fails if <xref linkend='gnome-terminal'/> is not
226 installed.
227 </para>
228
229 </sect2>
230
231 <sect2 role="commands">
232 <title>Command Explanations</title>
233
234 <para>
235 <parameter>--with-pcre=system</parameter>: This switch causes the
236 build to use a system-provided version of the
237 <application>PCRE</application> library instead of an internal
238 version.
239 </para>
240
241 <para>
242 <parameter>--with-python=/usr/bin/python3</parameter>: Allows
243 using Python3 instead of Python2, even if Python2 is installed.
244 </para>
245
246 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
247 href="../../xincludes/gtk-doc-rebuild.xml"/>
248
249 </sect2>
250
251 <sect2 role="content">
252 <title>Contents</title>
253
254 <segmentedlist>
255 <segtitle>Installed Programs</segtitle>
256 <segtitle>Installed Libraries</segtitle>
257 <segtitle>Installed Directories</segtitle>
258
259 <seglistitem>
260 <seg>
261 gapplication, gdbus, gdbus-codegen,
262 gio, gio-querymodules,
263 glib-compile-resources, glib-compile-schemas,
264 glib-genmarshal, glib-gettextize,
265 glib-mkenums, gobject-query,
266 gresource, gsettings,
267 gtester, and gtester-report
268 </seg>
269 <seg>
270 libgio-2.0.so,
271 libglib-2.0.so,
272 libgmodule-2.0.so,
273 libgobject-2.0.so, and
274 libgthread-2.0.so
275 </seg>
276 <seg>
277 /usr/include/gio-unix-2.0,
278 /usr/include/glib-2.0,
279 /usr/lib/gio,
280 /usr/lib/glib-2.0,
281 /usr/share/glib-2.0, and
282 /usr/share/gtk-doc/html/{gio,glib,gobject}
283 </seg>
284 </seglistitem>
285 </segmentedlist>
286
287 <variablelist>
288 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
289 <?dbfo list-presentation="list"?>
290 <?dbhtml list-presentation="table"?>
291
292 <varlistentry id="gapplication">
293 <term><command>gapplication</command></term>
294 <listitem>
295 <para>
296 can be used to start applications and to send
297 messages to already-running instances of other applications.
298 </para>
299 <indexterm zone="glib2 gapplication">
300 <primary sortas="b-gapplication">application</primary>
301 </indexterm>
302 </listitem>
303 </varlistentry>
304 <varlistentry id="gdbus">
305 <term><command>gdbus</command></term>
306 <listitem>
307 <para>
308 is a simple tool used for working with
309 <application>D-Bus</application> objects.
310 </para>
311 <indexterm zone="glib2 gdbus">
312 <primary sortas="b-gdbus">gdbus</primary>
313 </indexterm>
314 </listitem>
315 </varlistentry>
316
317 <varlistentry id="gdbus-codegen">
318 <term><command>gdbus-codegen</command></term>
319 <listitem>
320 <para>
321 is used to generate code and/or documentation for one or
322 more <application>D-Bus</application> interfaces.
323 </para>
324 <indexterm zone="glib2 gdbus-codegen">
325 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
326 </indexterm>
327 </listitem>
328 </varlistentry>
329
330 <varlistentry id="gio">
331 <term><command>gio</command></term>
332 <listitem>
333 <para>
334 is a utility that makes many <application>GIO</application>
335 features available from the command line.
336 </para>
337 <indexterm zone="glib2 gio">
338 <primary sortas="b-gio">gio</primary>
339 </indexterm>
340 </listitem>
341 </varlistentry>
342
343 <varlistentry id="gio-querymodules">
344 <term><command>gio-querymodules</command></term>
345 <listitem>
346 <para>
347 is used to create a <filename>giomodule.cache</filename> file in
348 the listed directories. This file lists the implemented extension
349 points for each module that has been found.
350 </para>
351 <indexterm zone="glib2 gio-querymodules">
352 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
353 </indexterm>
354 </listitem>
355 </varlistentry>
356
357 <varlistentry id="glib-compile-resources">
358 <term><command>glib-compile-resources</command></term>
359 <listitem>
360 <para>
361 is used to read the resource description from a file and
362 the files that it references to create a binary resource
363 bundle that is suitable for use with the GResource API.
364 </para>
365 <indexterm zone="glib2 glib-compile-resources">
366 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
367 </indexterm>
368 </listitem>
369 </varlistentry>
370
371 <varlistentry id="glib-compile-schemas">
372 <term><command>glib-compile-schemas</command></term>
373 <listitem>
374 <para>
375 is used to compile all the GSettings XML schema files
376 in directory into a binary file with the name
377 <filename>gschemas.compiled</filename> that can be used by GSettings.
378 </para>
379 <indexterm zone="glib2 glib-compile-schemas">
380 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 <varlistentry id="glib-genmarshal">
386 <term><command>glib-genmarshal</command></term>
387 <listitem>
388 <para>
389 is a C code marshaller generation utility for GLib closures.
390 </para>
391 <indexterm zone="glib2 glib-genmarshal">
392 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
393 </indexterm>
394 </listitem>
395 </varlistentry>
396
397 <varlistentry id="glib-gettextize">
398 <term><command>glib-gettextize</command></term>
399 <listitem>
400 <para>
401 is a variant of the <application>gettext</application>
402 internationalization utility.
403 </para>
404 <indexterm zone="glib2 glib-gettextize">
405 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
406 </indexterm>
407 </listitem>
408 </varlistentry>
409
410 <varlistentry id="glib-mkenums">
411 <term><command>glib-mkenums</command></term>
412 <listitem>
413 <para>
414 is a C language enum description generation utility.
415 </para>
416 <indexterm zone="glib2 glib-mkenums">
417 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="gobject-query">
423 <term><command>gobject-query</command></term>
424 <listitem>
425 <para>
426 is a small utility that draws a tree of types.
427 </para>
428 <indexterm zone="glib2 gobject-query">
429 <primary sortas="b-gobject-query">gobject-query</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
434 <varlistentry id="gresource">
435 <term><command>gresource</command></term>
436 <listitem>
437 <para>
438 offers a simple command line interface to GResource.
439 </para>
440 <indexterm zone="glib2 gresource">
441 <primary sortas="b-gresource">gresource</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445
446 <varlistentry id="gsettings">
447 <term><command>gsettings</command></term>
448 <listitem>
449 <para>
450 offers a simple command line interface to GSettings.
451 </para>
452 <indexterm zone="glib2 gsettings">
453 <primary sortas="b-gsettings">gsettings</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="gtester">
459 <term><command>gtester</command></term>
460 <listitem>
461 <para>
462 is a test running utility.
463 </para>
464 <indexterm zone="glib2 gtester">
465 <primary sortas="b-gtester">gtester</primary>
466 </indexterm>
467 </listitem>
468 </varlistentry>
469
470 <varlistentry id="gtester-report">
471 <term><command>gtester-report</command></term>
472 <listitem>
473 <para>
474 is a test report formatting utility.
475 </para>
476 <indexterm zone="glib2 gtester-report">
477 <primary sortas="b-gtester-report">gtester-report</primary>
478 </indexterm>
479 </listitem>
480 </varlistentry>
481
482 <varlistentry id="GLib-libraries">
483 <term>GLib libraries</term>
484 <listitem>
485 <para>
486 contain low-level core libraries for the
487 <application>GIMP</application> Toolkit.
488 </para>
489 <indexterm zone="glib2 GLib-libraries">
490 <primary sortas="c-GLib-libraries">Glib libraries</primary>
491 </indexterm>
492 </listitem>
493 </varlistentry>
494
495 </variablelist>
496
497 </sect2>
498
499</sect1>
Note: See TracBrowser for help on using the repository browser.