source: x/lib/cairo.xml

trunk
Last change on this file was 1241ea19, checked in by Bruce Dubbs <bdubbs@…>, 2 months ago

Tag xfce and dependencies

  • Property mode set to 100644
File size: 9.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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-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 "3f0685fbadc530606f965b9645bb51d9">
12 <!ENTITY cairo-size "32 MB">
13 <!ENTITY cairo-buildsize "98 MB">
14 <!ENTITY cairo-time "0.3 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 &lfs121_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 <!--&qt5-deps;,-->
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>, and
116 <ulink url="https://skia.org/">Skia</ulink>
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 </sect2>
129
130 <sect2 role="installation">
131 <title>Installation of Cairo</title>
132
133 <!-- /usr/include/ansidecl.h says "This file is part of the GNU C
134 Library", but it's actually installed by Binutils. -->
135<!--
136 <para>
137 Adapt this package for Binutils-2.39 or later:
138 </para>
139
140<screen><userinput>sed 's/PTR/void */' -i util/cairo-trace/lookup-symbol.c</userinput></screen>
141
142 <para>
143 Fix a pkg-config file that may cause errors later:
144 </para>
145
146<screen><userinput>sed -e "/@prefix@/a exec_prefix=@exec_prefix@" \
147 -i util/cairo-script/cairo-script-interpreter.pc.in</userinput></screen>
148-->
149
150 <para>
151 Install <application>Cairo</application> by running the following
152 commands:
153 </para>
154
155<screen><userinput>mkdir build &amp;&amp;
156cd build &amp;&amp;
157
158meson setup --prefix=/usr --buildtype=release .. &amp;&amp;
159ninja</userinput></screen>
160
161 <para>
162 This package does not have a working test suite.
163 <!-- The test suite can be run with 'ninja test', 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>ninja install</userinput></screen>
174 </sect2>
175
176 <sect2 role="commands">
177 <title>Command Explanations</title>
178
179<!-- Enabled by default in 1.18.0 (would be -Dtee=enabled otherwise)
180 <para>
181 <parameter>- -enable-tee</parameter>: This switch enables the
182 experimental tee surface backend which is required if using
183 system-installed <application>Cairo</application> with Mozilla applications.
184 </para>
185-->
186
187 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
188 href="../../xincludes/meson-buildtype-release.xml"/>
189
190 <para>
191 <option>-Dxlib-xcb=enabled</option>: This switch enables several
192 experimental Xlib/XCB functions used by some window managers.
193 </para>
194
195<!-- Removed in 1.18.0
196 <para>
197 <option>- -enable-gl</option>: This switch enables
198 <application>Cairo</application>'s experimental
199 <application>OpenGL</application> surface which
200 is required for <application>Wayland</application>
201 compositor and some other packages that are not
202 part of BLFS.
203 </para>
204-->
205
206 <para>
207 <option>-Dgtk_doc=true</option>: Use this parameter if GTK-Doc is
208 installed and you wish to create and install the documentation.
209 </para>
210
211 </sect2>
212
213 <sect2 role="content">
214 <title>Contents</title>
215
216 <segmentedlist>
217 <segtitle>Installed Programs</segtitle>
218 <segtitle>Installed Libraries</segtitle>
219 <segtitle>Installed Directories</segtitle>
220
221 <seglistitem>
222 <seg>
223 cairo-trace
224 </seg>
225 <seg>
226 libcairo.so,
227 libcairo-gobject.so, and
228 libcairo-script-interpreter.so
229 </seg>
230 <seg>
231 /usr/include/cairo and
232 /usr/lib/cairo
233 </seg>
234 </seglistitem>
235 </segmentedlist>
236
237 <variablelist>
238 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
239 <?dbfo list-presentation="list"?>
240 <?dbhtml list-presentation="table"?>
241
242 <varlistentry id="cairo-trace">
243 <term><command>cairo-trace</command></term>
244 <listitem>
245 <para>
246 generates a log of all calls made by an application to
247 <application>Cairo</application>
248 </para>
249 <indexterm zone="cairo cairo-trace">
250 <primary sortas="b-cairo-trace">cairo-trace</primary>
251 </indexterm>
252 </listitem>
253 </varlistentry>
254
255 <varlistentry id="libcairo">
256 <term><filename class="libraryfile">libcairo.so</filename></term>
257 <listitem>
258 <para>
259 contains the 2D graphics functions required for rendering to the
260 various output targets
261 </para>
262 <indexterm zone="cairo libcairo">
263 <primary sortas="c-libcairo">libcairo.so</primary>
264 </indexterm>
265 </listitem>
266 </varlistentry>
267
268 <varlistentry id="libcairo-gobject">
269 <term><filename class="libraryfile">libcairo-gobject.so</filename></term>
270 <listitem>
271 <para>
272 contains functions that integrate
273 <application>Cairo</application> with
274 <application>Glib</application>'s GObject type system
275 </para>
276 <indexterm zone="cairo libcairo-gobject">
277 <primary sortas="c-libcairo-gobject">libcairo-gobject.so</primary>
278 </indexterm>
279 </listitem>
280 </varlistentry>
281
282 <varlistentry id="libcairo-script-interpreter">
283 <term><filename class="libraryfile">libcairo-script-interpreter.so</filename></term>
284 <listitem>
285 <para>
286 contains the script interpreter functions for executing and
287 manipulating <application>Cairo</application> execution traces
288 </para>
289 <indexterm zone="cairo libcairo-script-interpreter">
290 <primary sortas="c-libcairo-script-interpreter">libcairo-script-interpreter.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.