source: general/genlib/glib2.xml@ eb954a8

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

Reinstate autotools build in glib2

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

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