source: x/lib/cairo.xml@ 42c1a527

trunk
Last change on this file since 42c1a527 was 3c9b5e9, checked in by Douglas R. Reno <renodr@…>, 4 weeks ago

Tag GTK+-3 and printing stack

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