source: x/lib/cairo.xml@ 2968f05

trunk
Last change on this file since 2968f05 was ba25a32, checked in by Bruce Dubbs <bdubbs@…>, 2 weeks ago

Remove some unused optional dependencies from cairo

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