source: x/lib/cairo.xml@ e641675

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.4 9.0 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 e641675 was e641675, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Add harfbuzz as an optional (circular) dependency of cairo.
A few tags.

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

  • Property mode set to 100644
File size: 9.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 cairo-download-http "https://www.cairographics.org/releases/cairo-&cairo-version;.tar.xz">
8 <!ENTITY cairo-download-ftp " ">
9 <!ENTITY cairo-md5sum "f19e0353828269c22bd72e271243a552">
10 <!ENTITY cairo-size "41 MB">
11 <!ENTITY cairo-buildsize "137 MB">
12 <!ENTITY cairo-time "0.4 SBU (using parallelism=4)">
13]>
14
15<sect1 id="cairo" xreflabel="Cairo-&cairo-version;">
16 <?dbhtml filename="cairo.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Cairo-&cairo-version;</title>
24
25 <indexterm zone="cairo">
26 <primary sortas="a-Cairo">Cairo</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Cairo</title>
31
32 <para>
33 <application>Cairo</application> is a 2D graphics library with support for
34 multiple output devices. Currently supported output targets include the
35 <application>X</application> Window System, win32, image buffers,
36 PostScript, PDF and SVG. Experimental backends include OpenGL, Quartz and
37 XCB file output. <application>Cairo</application> is designed to produce
38 consistent output on all output media while taking advantage of display
39 hardware acceleration when available (e.g., through the X Render
40 Extension). The <application>Cairo</application> API provides operations
41 similar to the drawing operators of PostScript and PDF. Operations in
42 <application>Cairo</application> include stroking and filling cubic
43 B&eacute;zier splines, transforming and compositing translucent images,
44 and antialiased text rendering. All drawing operations can be transformed
45 by any
46 <ulink url="http://en.wikipedia.org/wiki/Affine_transformation">affine
47 transformation</ulink> (scale, rotation, shear, etc.).
48 </para>
49
50 &lfs84_checked;
51
52 <bridgehead renderas="sect3">Package Information</bridgehead>
53 <itemizedlist spacing="compact">
54 <listitem>
55 <para>
56 Download (HTTP): <ulink url="&cairo-download-http;"/>
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download (FTP): <ulink url="&cairo-download-ftp;"/>
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Download MD5 sum: &cairo-md5sum;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Download size: &cairo-size;
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Estimated disk space required: &cairo-buildsize;
77 </para>
78 </listitem>
79 <listitem>
80 <para>
81 Estimated build time: &cairo-time;
82 </para>
83 </listitem>
84 </itemizedlist>
85
86 <bridgehead renderas="sect3">Cairo Dependencies</bridgehead>
87
88 <bridgehead renderas="sect4">Required</bridgehead>
89 <para role="required">
90 <xref linkend="libpng"/> and
91 <xref linkend="pixman"/>
92 </para>
93
94 <bridgehead renderas="sect4">Recommended</bridgehead>
95 <para role="recommended">
96 <xref linkend="fontconfig"/>,
97 <xref linkend="glib2"/> (required for most GUIs) and
98 <xref linkend="xorg7-lib"/>
99 </para>
100
101 <bridgehead renderas="sect4">Optional</bridgehead>
102 <para role="optional">
103 <xref linkend="cogl"/>,
104 <xref linkend="gs"/>,
105 <xref linkend="gtk3"/> and <xref linkend="gtk2"/>,
106 <xref linkend="gtk-doc"/>,
107 <xref linkend="harfbuzz"/>,
108 <xref linkend="libdrm"/>,
109 <xref linkend="librsvg"/>,
110 <xref linkend="lzo"/>,
111 <xref linkend="mesa"/>,
112 <xref linkend="poppler"/>,
113 <xref linkend="valgrind"/>,
114 <ulink url="http://pkgs.fedoraproject.org/repo/pkgs/directfb/">DirectFB</ulink>,
115 <ulink url="https://github.com/rillian/jbig2dec/">jbig2dec</ulink>,
116 <ulink url="https://www.freedesktop.org/wiki/Software/libspectre/">libspectre</ulink>,
117 <ulink url="https://skia.org/">Skia</ulink>, and
118 <ulink url="http://download.qt.io/archive/qt/4.8/">Qt4</ulink>.
119 </para>
120
121 <note><para>There is a circular dependency between cairo and harfbuzz.
122 If cairo is built before harbuzz, it is necessary to rebuild cairo
123 after harfbuzz in order to build pango.</para></note>
124
125 <para condition="html" role="usernotes">
126 User Notes: <ulink url="&blfs-wiki;/cairo"/>
127 </para>
128 </sect2>
129
130 <sect2 role="installation">
131 <title>Installation of Cairo</title>
132
133 <para>
134 Install <application>Cairo</application> by running the following
135 commands:
136 </para>
137
138<screen><userinput>./configure --prefix=/usr \
139 --disable-static \
140 --enable-tee &amp;&amp;
141make</userinput></screen>
142
143 <para>
144 This package does not have a working testsuite.
145 </para>
146
147 <para>
148 Now, as the <systemitem class="username">root</systemitem> user:
149 </para>
150
151<screen role="root"><userinput>make install</userinput></screen>
152 </sect2>
153
154 <sect2 role="commands">
155 <title>Command Explanations</title>
156
157 <para>
158 <parameter>--enable-tee</parameter>: This switch enables the
159 experimental tee surface backend which is required if using
160 system-installed <application>Cairo</application> with Mozilla applications.
161 </para>
162
163 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
164 href="../../xincludes/static-libraries.xml"/>
165
166 <para>
167 <option>--enable-xlib-xcb</option>: This switch enables several
168 experimental Xlib/XCB functions used by some window managers.
169 </para>
170
171 <para>
172 <option>--enable-gl</option>: This switch enables
173 <application>Cairo</application>'s experimental
174 <application>OpenGL</application> surface which
175 is required for <application>Wayland</application>
176 compositor and some other packages that are not
177 part of BLFS.
178 </para>
179
180 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
181 href="../../xincludes/gtk-doc-rebuild.xml"/>
182
183 </sect2>
184
185 <sect2 role="content">
186 <title>Contents</title>
187
188 <segmentedlist>
189 <segtitle>Installed Programs</segtitle>
190 <segtitle>Installed Libraries</segtitle>
191 <segtitle>Installed Directories</segtitle>
192
193 <seglistitem>
194 <seg>
195 cairo-sphinx and cairo-trace
196 </seg>
197 <seg>
198 libcairo.so, libcairo-gobject.so and
199 libcairo-script-interpreter.so
200 </seg>
201 <seg>
202 /usr/{include,lib,share/gtk-doc/html}/cairo
203 </seg>
204 </seglistitem>
205 </segmentedlist>
206
207 <variablelist>
208 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
209 <?dbfo list-presentation="list"?>
210 <?dbhtml list-presentation="table"?>
211
212 <varlistentry id="cairo-sphinx">
213 <term><command>cairo-sphinx</command></term>
214 <listitem>
215 <para>
216 is an internal utility for regression analysis.
217 </para>
218 <indexterm zone="cairo cairo-sphinx">
219 <primary sortas="b-cairo-sphinx">cairo-sphinx</primary>
220 </indexterm>
221 </listitem>
222 </varlistentry>
223
224 <varlistentry id="cairo-trace">
225 <term><command>cairo-trace</command></term>
226 <listitem>
227 <para>
228 generates a log of all calls made by an application to
229 <application>Cairo</application>.
230 </para>
231 <indexterm zone="cairo cairo-trace">
232 <primary sortas="b-cairo-trace">cairo-trace</primary>
233 </indexterm>
234 </listitem>
235 </varlistentry>
236
237 <varlistentry id="libcairo">
238 <term><filename class="libraryfile">libcairo.so</filename></term>
239 <listitem>
240 <para>
241 contains the 2D graphics functions required for rendering to the
242 various output targets.
243 </para>
244 <indexterm zone="cairo libcairo">
245 <primary sortas="c-libcairo">libcairo.so</primary>
246 </indexterm>
247 </listitem>
248 </varlistentry>
249
250 <varlistentry id="libcairo-gobject">
251 <term><filename class="libraryfile">libcairo-gobject.so</filename></term>
252 <listitem>
253 <para>
254 contains functions that integrate
255 <application>Cairo</application> with
256 <application>Glib</application>'s GObject type system.
257 </para>
258 <indexterm zone="cairo libcairo-gobject">
259 <primary sortas="c-libcairo-gobject">libcairo-gobject.so</primary>
260 </indexterm>
261 </listitem>
262 </varlistentry>
263
264 <varlistentry id="libcairo-script-interpreter">
265 <term><filename class="libraryfile">libcairo-script-interpreter.so</filename></term>
266 <listitem>
267 <para>
268 contains the script interpreter functions for executing and
269 manipulating <application>Cairo</application> execution traces.
270 </para>
271 <indexterm zone="cairo libcairo-script-interpreter">
272 <primary sortas="c-libcairo-script-interpreter">libcairo-script-interpreter.so</primary>
273 </indexterm>
274 </listitem>
275 </varlistentry>
276
277 </variablelist>
278
279 </sect2>
280
281</sect1>
Note: See TracBrowser for help on using the repository browser.