source: x/lib/cairo.xml@ bb9c7922

trunk
Last change on this file since bb9c7922 was 49ff7ed, checked in by Bruce Dubbs <bdubbs@…>, 2 weeks ago

Remove reference to gtk3 from cairo.

  • Property mode set to 100644
File size: 8.4 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 "5ad67c707edd0003f1b91c8bbc0005c1">
10 <!ENTITY cairo-size "31 MB">
11 <!ENTITY cairo-buildsize "93 MB">
12 <!ENTITY cairo-time "0.2 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="gtk-doc"/>,
101 <xref linkend="libdrm"/>,
102 <xref linkend="librsvg"/>,
103 <xref linkend="libxml2"/>,
104 <xref linkend="lzo"/>,
105 <xref linkend="mesa"/>,
106 <xref linkend="poppler"/>,
107 <xref linkend="valgrind"/>,
108 &gtk2;,
109 <ulink url="https://github.com/rillian/jbig2dec/">jbig2dec</ulink>,
110 <ulink url="https://www.freedesktop.org/wiki/Software/libspectre/">libspectre</ulink>, and
111 <ulink url="https://skia.org/">Skia</ulink>
112 </para>
113
114 <note>
115 <para>
116 There is a circular dependency between cairo and harfbuzz.
117 If cairo is built before harfbuzz, it is necessary to rebuild cairo
118 after harfbuzz in order to build pango.
119 </para>
120 </note>
121
122 </sect2>
123
124 <sect2 role="installation">
125 <title>Installation of Cairo</title>
126
127 <para>
128 Install <application>Cairo</application> by running the following
129 commands:
130 </para>
131
132<screen><userinput>mkdir build &amp;&amp;
133cd build &amp;&amp;
134
135meson setup --prefix=/usr --buildtype=release .. &amp;&amp;
136ninja</userinput></screen>
137
138 <para>
139 This package does not have a working test suite.
140 <!-- The test suite can be run with 'ninja test', but 488 tests fail and
141 59 tests pass. This seems to be due to minute changes in the expected
142 output, similar to librsvg's tests. Since it's a huge chunk of the tests,
143 let's keep it as "broken" for now.-->
144 </para>
145
146 <para>
147 Now, as the <systemitem class="username">root</systemitem> user:
148 </para>
149
150<screen role="root"><userinput>ninja install</userinput></screen>
151 </sect2>
152
153 <sect2 role="commands">
154 <title>Command Explanations</title>
155
156<!-- Enabled by default in 1.18.0 (would be -D tee=enabled otherwise)
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
164 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
165 href="../../xincludes/meson-buildtype-release.xml"/>
166
167 <para>
168 <option>-D xlib-xcb=enabled</option>: This switch enables several
169 experimental Xlib/XCB functions used by some window managers.
170 </para>
171
172 <para>
173 <option>-D gtk_doc=true</option>: Use this parameter if GTK-Doc is
174 installed and you wish to create and install the documentation.
175 </para>
176
177 </sect2>
178
179 <sect2 role="content">
180 <title>Contents</title>
181
182 <segmentedlist>
183 <segtitle>Installed Programs</segtitle>
184 <segtitle>Installed Libraries</segtitle>
185 <segtitle>Installed Directories</segtitle>
186
187 <seglistitem>
188 <seg>
189 cairo-trace
190 </seg>
191 <seg>
192 libcairo.so,
193 libcairo-gobject.so, and
194 libcairo-script-interpreter.so
195 </seg>
196 <seg>
197 /usr/include/cairo and
198 /usr/lib/cairo
199 </seg>
200 </seglistitem>
201 </segmentedlist>
202
203 <variablelist>
204 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
205 <?dbfo list-presentation="list"?>
206 <?dbhtml list-presentation="table"?>
207
208 <varlistentry id="cairo-trace">
209 <term><command>cairo-trace</command></term>
210 <listitem>
211 <para>
212 generates a log of all calls made by an application to
213 <application>Cairo</application>
214 </para>
215 <indexterm zone="cairo cairo-trace">
216 <primary sortas="b-cairo-trace">cairo-trace</primary>
217 </indexterm>
218 </listitem>
219 </varlistentry>
220
221 <varlistentry id="libcairo">
222 <term><filename class="libraryfile">libcairo.so</filename></term>
223 <listitem>
224 <para>
225 contains the 2D graphics functions required for rendering to the
226 various output targets
227 </para>
228 <indexterm zone="cairo libcairo">
229 <primary sortas="c-libcairo">libcairo.so</primary>
230 </indexterm>
231 </listitem>
232 </varlistentry>
233
234 <varlistentry id="libcairo-gobject">
235 <term><filename class="libraryfile">libcairo-gobject.so</filename></term>
236 <listitem>
237 <para>
238 contains functions that integrate
239 <application>Cairo</application> with
240 <application>Glib</application>'s GObject type system
241 </para>
242 <indexterm zone="cairo libcairo-gobject">
243 <primary sortas="c-libcairo-gobject">libcairo-gobject.so</primary>
244 </indexterm>
245 </listitem>
246 </varlistentry>
247
248 <varlistentry id="libcairo-script-interpreter">
249 <term><filename class="libraryfile">libcairo-script-interpreter.so</filename></term>
250 <listitem>
251 <para>
252 contains the script interpreter functions for executing and
253 manipulating <application>Cairo</application> execution traces
254 </para>
255 <indexterm zone="cairo libcairo-script-interpreter">
256 <primary sortas="c-libcairo-script-interpreter">libcairo-script-interpreter.so</primary>
257 </indexterm>
258 </listitem>
259 </varlistentry>
260
261 </variablelist>
262
263 </sect2>
264
265</sect1>
Note: See TracBrowser for help on using the repository browser.