source: x/lib/cairo.xml@ 0945dd2d

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 0945dd2d was ac0d66d, checked in by Douglas R. Reno <renodr@…>, 15 months ago

Tags for PHP dependencies

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