source: x/lib/cairo.xml@ 35a179c8

11.2 11.3 12.0 12.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 xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 35a179c8 was 35a179c8, checked in by Xi Ruoyao <xry111@…>, 21 months ago

cairo: fix the description for the sed removing "PTR"

/usr/include/ansidecl.h says "This file is part of the GNU C Library",
but it's actually installed by Binutils.

Ref: https://archlinux.org/packages/core/x86_64/binutils/files/, and the
timestamp on my system.

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