source: x/lib/pango.xml@ ffef0bb

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since ffef0bb was 289b0c4f, checked in by Ken Moffat <ken@…>, 14 months ago

Fix pango ftbfs with gcc-13.1.

  • Property mode set to 100644
File size: 9.3 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 pango-download-http "&gnome-download-http;/pango/&pango-minor;/pango-&pango-version;.tar.xz">
8 <!ENTITY pango-download-ftp "&gnome-download-ftp;/pango/&pango-minor;/pango-&pango-version;.tar.xz">
9 <!ENTITY pango-md5sum "baa2a0a67c71935165a205a76da25954">
10 <!ENTITY pango-size "4.1 MB">
11 <!ENTITY pango-buildsize "47 MB (with tests)">
12 <!ENTITY pango-time "0.1 SBU (Using parallelism=4; with tests)">
13]>
14
15<sect1 id="pango" xreflabel="Pango-&pango-version;">
16 <?dbhtml filename="pango.html" ?>
17
18
19 <title>Pango-&pango-version;</title>
20
21 <indexterm zone="pango">
22 <primary sortas="a-Pango">Pango</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Pango</title>
27
28 <para>
29 <application>Pango</application> is a library for laying out and rendering
30 text, with an emphasis on internationalization. It can be used anywhere
31 that text layout is needed, though most of the work on
32 <application>Pango</application> so far has been done in the context of
33 the <application>GTK+</application> widget toolkit.
34 </para>
35
36 &lfs113_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>
42 Download (HTTP): <ulink url="&pango-download-http;"/>
43 </para>
44 </listitem>
45 <listitem>
46 <para>
47 Download (FTP): <ulink url="&pango-download-ftp;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download MD5 sum: &pango-md5sum;
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download size: &pango-size;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Estimated disk space required: &pango-buildsize;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated build time: &pango-time;
68 </para>
69 </listitem>
70 </itemizedlist>
71
72 <bridgehead renderas="sect3">Pango Dependencies</bridgehead>
73
74 <bridgehead renderas="sect4">Required</bridgehead>
75 <para role="required">
76 <xref linkend="fontconfig"/> (must be built with
77 <xref linkend="freetype2"/> using <xref linkend="harfbuzz"/>),
78 <xref linkend="fribidi"/>, and
79 <xref linkend="glib2"/>
80
81 </para>
82
83 <bridgehead renderas="sect4">Recommended</bridgehead>
84 <para role="recommended">
85 <xref linkend="cairo"/>,
86 <xref linkend="gobject-introspection"/> (Required if building GNOME), and
87 <xref linkend="xorg7-lib"/>
88 </para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="cantarell-fonts"/> (for tests),
93 <!--<xref linkend="gtk-doc"/>,-->
94 <xref linkend="sysprof"/>,
95 <xref linkend="gi-docgen"/> (to generate documentation),
96 <ulink url="https://ftpmirror.gnu.org/gnu/help2man">help2man</ulink>, and
97 <ulink url="https://linux.thai.net/projects/libthai">libthai</ulink>
98 </para>
99
100 <para condition="html" role="usernotes">
101 User Notes: <ulink url="&blfs-wiki;/pango"/>
102 </para>
103 </sect2>
104
105 <sect2 role="installation">
106 <title>Installation of Pango</title>
107
108 <para>
109 First work around a bug in gcc-13.1 which triggers a false warning
110 that breaks a release build:
111 </para>
112
113<screen><userinput>sed -i '/array-bounds/d' meson.build</userinput></screen>
114
115 <para>
116 Install <application>Pango</application> by running the following
117 commands:
118 </para>
119
120<screen><userinput>mkdir build &amp;&amp;
121cd build &amp;&amp;
122
123meson setup --prefix=/usr \
124 --buildtype=release \
125 --wrap-mode=nofallback \
126 .. &amp;&amp;
127ninja</userinput></screen>
128
129 <para>
130 If you have <xref linkend='gi-docgen'/> installed and wish to build
131 the API documentation for this package, issue:
132 </para>
133
134<screen remap='doc'><userinput>sed "/docs_dir =/s@\$@ / 'pango-&pango-version;'@" -i ../docs/meson.build &amp;&amp;
135meson configure -Dgtk_doc=true &amp;&amp;
136ninja</userinput></screen>
137
138 <para>
139 To test the results, issue: <command>ninja test</command>. One test,
140 <filename>test-font</filename> is known to fail.
141 <!--<filename>test-itemize</filename>, are are known to fail. if
142 <xref linkend="cantarell-fonts"/> are not installed.-->
143 <!-- the other problematic tests get skipped now -->
144 <!-- Even with cantarell-fonts, pango-1.50.9 test-font fails again. -->
145 </para>
146
147 <para>
148 Now, as the <systemitem class="username">root</systemitem> user:
149 </para>
150
151<screen role="root"><userinput>ninja install</userinput></screen>
152
153<!--
154This requires the external help2man program to generate pango-view.1. The version
155from lsb_release is insufficient. I'm not sure if the command below is needed
156or not if the newer help2man is present. - Bruce
157
158install -vm 644 ../utils/pango-view.1.in /usr/share/man/man1/pango-view.1</userinput></screen>
159-->
160
161 </sect2>
162
163 <sect2 role="commands">
164 <title>Command Explanations</title>
165
166 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
167 href="../../xincludes/meson-buildtype-release.xml"/>
168
169 <para>
170 <option>-Dintrospection=disabled</option>: Use this switch if you do not
171 want to use <xref linkend="gobject-introspection"/>.
172 </para>
173
174 <!-- gi-docgen can get installed without this, if deps exist -->
175 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
176 href="../../xincludes/meson-wrap-nofallback.xml"/>
177
178 </sect2>
179
180 <sect2 role="configuration">
181 <title>Configuring Pango</title>
182
183 <sect3 id="pango-config">
184 <title>Config Files</title>
185
186 <para>
187 <filename>/etc/pango/pangorc</filename>, <filename>~/.pangorc</filename>
188 and the file specified in the environment variable
189 <envar>PANGO_RC_FILE</envar>
190 </para>
191
192 <indexterm zone="pango pango-config">
193 <primary sortas="e-etc-pango-pangorc">/etc/pango/pangorc</primary>
194 </indexterm>
195
196 <indexterm zone="pango pango-config">
197 <primary sortas="e-AA.pangorc">~/.pangorc</primary>
198 </indexterm>
199 </sect3>
200<!--
201 <sect3>
202 <title>Configuration Information</title>
203
204 <para>
205 The <application>Pango</application> module path is specified by the key
206 <userinput><parameter>Pango/ModulesPath</parameter></userinput> in the
207 <application>Pango</application> config database, which is read from the
208 config files listed above.
209 </para>
210
211 </sect3>-->
212
213 </sect2>
214
215 <sect2 role="content">
216 <title>Contents</title>
217
218 <segmentedlist>
219 <segtitle>Installed Programs</segtitle>
220 <segtitle>Installed Libraries</segtitle>
221 <segtitle>Installed Directories</segtitle>
222
223 <seglistitem>
224 <seg>
225 pango-list, pango-segmentation, and pango-view
226 </seg>
227 <seg>
228 libpango-1.0.so, libpangocairo-1.0.so, libpangoft2-1.0.so,
229 and libpangoxft-1.0.so
230 </seg>
231 <seg>
232 /usr/include/pango-1.0 and
233 /usr/share/doc/pango-&pango-version; (if gi-docgen is available)
234 </seg>
235 </seglistitem>
236 </segmentedlist>
237
238 <variablelist>
239 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
240 <?dbfo list-presentation="list"?>
241 <?dbhtml list-presentation="table"?>
242
243 <varlistentry id="pango-list">
244 <term><command>pango-list</command></term>
245 <listitem>
246 <para>
247 displays a list of fonts that <application>Pango</application>
248 can use that are currently installed on the system
249 </para>
250 <indexterm zone="pango pango-list">
251 <primary sortas="b-pango-list">pango-list</primary>
252 </indexterm>
253 </listitem>
254 </varlistentry>
255
256 <varlistentry id="pango-segmentation">
257 <term><command>pango-segmentation</command></term>
258 <listitem>
259 <para>
260 shows text segmentation as determined by Pango.
261 </para>
262 <indexterm zone="pango pango-segmentation">
263 <primary sortas="b-pango-segmentation">pango-segmentation</primary>
264 </indexterm>
265 </listitem>
266 </varlistentry>
267
268 <varlistentry id="pango-view">
269 <term><command>pango-view</command></term>
270 <listitem>
271 <para>
272 renders a given text file through <application>Pango</application>
273 for viewing purposes
274 </para>
275 <indexterm zone="pango pango-view">
276 <primary sortas="b-pango-view">pango-view</primary>
277 </indexterm>
278 </listitem>
279 </varlistentry>
280
281 <varlistentry id="libpango-1">
282 <term><filename class="libraryfile">libpango-1.0.so</filename></term>
283 <listitem>
284 <para>
285 contains low level layout rendering routines, a high level driver for
286 laying out entire blocks of text, and routines to assist in editing
287 internationalized text
288 </para>
289 <indexterm zone="pango libpango-1">
290 <primary sortas="c-libpango-1">libpango-1.0.so</primary>
291 </indexterm>
292 </listitem>
293 </varlistentry>
294
295 </variablelist>
296
297 </sect2>
298
299</sect1>
Note: See TracBrowser for help on using the repository browser.