source: general/genlib/glib2.xml@ 90ae149

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.2 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 90ae149 was 90ae149, checked in by Bruce Dubbs <bdubbs@…>, 6 years ago

Tweak glib instructions

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

  • Property mode set to 100644
File size: 15.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.54/glib-&glib2-version;.tar.xz">
8 <!ENTITY glib2-download-ftp "&gnome-download-ftp;/glib/2.54/glib-&glib2-version;.tar.xz">
9 <!ENTITY glib2-md5sum "50f83e08f080f99b1e2f0ad2b760fb81">
10 <!ENTITY glib2-size "7.5 MB">
11 <!ENTITY glib2-buildsize "166 MB (add 1 MB for tests)">
12 <!ENTITY glib2-time "0.2 SBU (using parallelism=4; add 0.5 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 &lfs81_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 file:
80 <ulink url=
81"https://raw.githubusercontent.com/GNOME/glib/master/gio/tests/gengiotypefuncs.py"/>
82 </para>
83 </listitem>
84 <listitem>
85 <para>
86 Optional patch:
87 <ulink url="&patch-root;/glib-&glib2-version;-skip_warnings-1.patch"/>
88 </para>
89 </listitem>
90 </itemizedlist>
91
92 <bridgehead renderas="sect3">GLib Dependencies</bridgehead>
93
94 <bridgehead renderas="sect4">Recommended</bridgehead>
95 <para role="recommended">
96 <xref linkend="pcre"/> (built with Unicode properties)
97 </para>
98
99 <bridgehead renderas="sect4">Optional</bridgehead>
100 <para role="optional">
101 <xref linkend="dbus"/> (required for some tests),
102 <xref linkend="elfutils"/> and
103 <xref linkend="DocBook"/>,
104 <xref linkend="docbook-xsl"/>, and
105 <xref linkend="libxslt"/> (to build manual pages)
106
107 <!-- <xref linkend="gtk-doc"/> cound not find a reference to this
108 in the meson build -->
109 </para>
110
111 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
112 <para role="recommended">
113 <xref role="runtime" linkend="gobject-introspection"/>
114 (should be installed before gtk+, atk, etc.)
115 </para>
116 <para role="optional">
117 Quoted directly from the <filename>INSTALL</filename> file:
118 <quote>Some of the mimetype-related functionality in GIO requires the
119 <command>update-mime-database</command> and
120 <command>update-desktop-database</command> utilities</quote>,
121 which are part of
122 <xref role="runtime" linkend="shared-mime-info"/> and
123 <xref role="runtime" linkend="desktop-file-utils"/>, respectively.
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, appy 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 <para>
157 Install <application>GLib</application> by running the following
158 commands:
159 </para>
160
161<screen><userinput>cp ../gengiotypefuncs.py gio/tests &amp;&amp;
162
163sed -i 's/54.0/54.2/' meson.build &amp;&amp;
164
165mkdir build-glib &amp;&amp;
166cd build-glib &amp;&amp;
167
168meson --prefix=/usr -Dwith-pcre=system -Dwith-docs=no .. &amp;&amp;
169ninja</userinput></screen>
170
171 <para>
172 The <application>GLib</application> test suite requires
173 <application>desktop-file-utils</application> for some tests. However,
174 <application>desktop-file-utils</application> requires
175 <application>GLib</application> in order to compile; therefore, you must
176 first install <application>GLib</application> and then run the test
177 suite.
178 </para>
179
180 <para>
181 Now, as the <systemitem class="username">root</systemitem> user:
182 </para>
183
184 <note><para>
185 If <xref linkend="libxslt"/> is installed, the following command may
186 indicate several (about 33) errors that start with "Error: no ID for
187 constraint linkend:" when installing the man pages. These are harmless.
188 </para></note>
189
190<screen role="root"><userinput>ninja install &amp;&amp;
191
192mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
193cp -r ../docs/reference/{NEWS,README,gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
194
195 <para>
196 You should now install <xref linkend="desktop-file-utils"/> and proceed to
197 run the test suite.
198 </para>
199
200 <para>
201 To test the results, after having installed the package, issue:
202 <command>ninja test</command>. When run in a graphical environment,
203 one test, appinfo, fails if <xref linkend='gnome-terminal'/> is not
204 installed.
205 </para>
206
207 </sect2>
208
209 <sect2 role="commands">
210 <title>Command Explanations</title>
211
212 <para>
213 <command>sed ... meson.build</command>: Fix the version of
214 the package to be consistent with other version numbers embedded
215 in the code.
216 </para>
217
218 <para>
219 <parameter>-Dwith-pcre=system</parameter>: This switch causes the
220 build to use a system-provided version of the
221 <application>PCRE</application> library instead of an internal
222 version.
223 </para>
224
225 <para>
226 <parameter>-Dwith-docs=no</parameter>: This switch prevents
227 rebuilding the package documentation.
228 </para>
229
230 </sect2>
231
232 <sect2 role="content">
233 <title>Contents</title>
234
235 <segmentedlist>
236 <segtitle>Installed Programs</segtitle>
237 <segtitle>Installed Libraries</segtitle>
238 <segtitle>Installed Directories</segtitle>
239
240 <seglistitem>
241 <seg>
242 gapplication, gdbus, gdbus-codegen,
243 gio, gio-querymodules,
244 glib-compile-resources, glib-compile-schemas,
245 glib-genmarshal, glib-gettextize,
246 glib-mkenums, gobject-query,
247 gresource, gsettings,
248 gtester, and gtester-report
249 </seg>
250 <seg>
251 libgio-2.0.so,
252 libglib-2.0.so,
253 libgmodule-2.0.so,
254 libgobject-2.0.so, and
255 libgthread-2.0.so
256 </seg>
257 <seg>
258 /usr/include/gio-unix-2.0,
259 /usr/include/glib-2.0,
260 /usr/lib/gio,
261 /usr/lib/glib-2.0, and
262 /usr/share/glib-2.0
263 </seg>
264 </seglistitem>
265 </segmentedlist>
266
267 <variablelist>
268 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
269 <?dbfo list-presentation="list"?>
270 <?dbhtml list-presentation="table"?>
271
272 <varlistentry id="gapplication">
273 <term><command>gapplication</command></term>
274 <listitem>
275 <para>
276 can be used to start applications and to send
277 messages to already-running instances of other applications.
278 </para>
279 <indexterm zone="glib2 gapplication">
280 <primary sortas="b-gapplication">application</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284 <varlistentry id="gdbus">
285 <term><command>gdbus</command></term>
286 <listitem>
287 <para>
288 is a simple tool used for working with
289 <application>D-Bus</application> objects.
290 </para>
291 <indexterm zone="glib2 gdbus">
292 <primary sortas="b-gdbus">gdbus</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="gdbus-codegen">
298 <term><command>gdbus-codegen</command></term>
299 <listitem>
300 <para>
301 is used to generate code and/or documentation for one or
302 more <application>D-Bus</application> interfaces.
303 </para>
304 <indexterm zone="glib2 gdbus-codegen">
305 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
306 </indexterm>
307 </listitem>
308 </varlistentry>
309
310 <varlistentry id="gio">
311 <term><command>gio</command></term>
312 <listitem>
313 <para>
314 is a utility that makes many <application>GIO</application>
315 features available from the command line.
316 </para>
317 <indexterm zone="glib2 gio">
318 <primary sortas="b-gio">gio</primary>
319 </indexterm>
320 </listitem>
321 </varlistentry>
322
323 <varlistentry id="gio-querymodules">
324 <term><command>gio-querymodules</command></term>
325 <listitem>
326 <para>
327 is used to create a <filename>giomodule.cache</filename> file in
328 the listed directories. This file lists the implemented extension
329 points for each module that has been found.
330 </para>
331 <indexterm zone="glib2 gio-querymodules">
332 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
333 </indexterm>
334 </listitem>
335 </varlistentry>
336
337 <varlistentry id="glib-compile-resources">
338 <term><command>glib-compile-resources</command></term>
339 <listitem>
340 <para>
341 is used to read the resource description from a file and
342 the files that it references to create a binary resource
343 bundle that is suitable for use with the GResource API.
344 </para>
345 <indexterm zone="glib2 glib-compile-resources">
346 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350
351 <varlistentry id="glib-compile-schemas">
352 <term><command>glib-compile-schemas</command></term>
353 <listitem>
354 <para>
355 is used to compile all the GSettings XML schema files
356 in directory into a binary file with the name
357 <filename>gschemas.compiled</filename> that can be used by GSettings.
358 </para>
359 <indexterm zone="glib2 glib-compile-schemas">
360 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry id="glib-genmarshal">
366 <term><command>glib-genmarshal</command></term>
367 <listitem>
368 <para>
369 is a C code marshaller generation utility for GLib closures.
370 </para>
371 <indexterm zone="glib2 glib-genmarshal">
372 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
373 </indexterm>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry id="glib-gettextize">
378 <term><command>glib-gettextize</command></term>
379 <listitem>
380 <para>
381 is a variant of the <application>gettext</application>
382 internationalization utility.
383 </para>
384 <indexterm zone="glib2 glib-gettextize">
385 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
386 </indexterm>
387 </listitem>
388 </varlistentry>
389
390 <varlistentry id="glib-mkenums">
391 <term><command>glib-mkenums</command></term>
392 <listitem>
393 <para>
394 is a C language enum description generation utility.
395 </para>
396 <indexterm zone="glib2 glib-mkenums">
397 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401
402 <varlistentry id="gobject-query">
403 <term><command>gobject-query</command></term>
404 <listitem>
405 <para>
406 is a small utility that draws a tree of types.
407 </para>
408 <indexterm zone="glib2 gobject-query">
409 <primary sortas="b-gobject-query">gobject-query</primary>
410 </indexterm>
411 </listitem>
412 </varlistentry>
413
414 <varlistentry id="gresource">
415 <term><command>gresource</command></term>
416 <listitem>
417 <para>
418 offers a simple command line interface to GResource.
419 </para>
420 <indexterm zone="glib2 gresource">
421 <primary sortas="b-gresource">gresource</primary>
422 </indexterm>
423 </listitem>
424 </varlistentry>
425
426 <varlistentry id="gsettings">
427 <term><command>gsettings</command></term>
428 <listitem>
429 <para>
430 offers a simple command line interface to GSettings.
431 </para>
432 <indexterm zone="glib2 gsettings">
433 <primary sortas="b-gsettings">gsettings</primary>
434 </indexterm>
435 </listitem>
436 </varlistentry>
437
438 <varlistentry id="gtester">
439 <term><command>gtester</command></term>
440 <listitem>
441 <para>
442 is a test running utility.
443 </para>
444 <indexterm zone="glib2 gtester">
445 <primary sortas="b-gtester">gtester</primary>
446 </indexterm>
447 </listitem>
448 </varlistentry>
449
450 <varlistentry id="gtester-report">
451 <term><command>gtester-report</command></term>
452 <listitem>
453 <para>
454 is a test report formatting utility.
455 </para>
456 <indexterm zone="glib2 gtester-report">
457 <primary sortas="b-gtester-report">gtester-report</primary>
458 </indexterm>
459 </listitem>
460 </varlistentry>
461
462 <varlistentry id="GLib-libraries">
463 <term>GLib libraries</term>
464 <listitem>
465 <para>
466 contain low-level core libraries for the
467 <application>GIMP</application> Toolkit.
468 </para>
469 <indexterm zone="glib2 GLib-libraries">
470 <primary sortas="c-GLib-libraries">Glib libraries</primary>
471 </indexterm>
472 </listitem>
473 </varlistentry>
474
475 </variablelist>
476
477 </sect2>
478
479</sect1>
Note: See TracBrowser for help on using the repository browser.