source: x/lib/cairo.xml@ 8057fc4

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 8057fc4 was 2839d1e, checked in by Krejzi <krejzi@…>, 12 years ago

Mark some packages as 7.2 checked. Part 14 - Xorg Libraries. Fix startup-notification dependencies.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@10562 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 10.6 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 "http://cairographics.org/releases/cairo-&cairo-version;.tar.xz">
8 <!ENTITY cairo-download-ftp " ">
9 <!ENTITY cairo-md5sum "87649eb75789739d517c743e94879e51">
10 <!ENTITY cairo-size "41 MB">
11 <!ENTITY cairo-buildsize "178 MB">
12 <!ENTITY cairo-time "1.1 SBU">
13]>
14
15<sect1 id="cairo" xreflabel="Cairo-&cairo-version;">
16 <?dbhtml filename="cairo.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Cairo-&cairo-version;</title>
24
25 <indexterm zone="cairo">
26 <primary sortas="a-Cairo">Cairo</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Cairo</title>
31
32 <para>
33 <application>Cairo</application> is a 2D graphics library with support for
34 multiple output devices. Currently supported output targets include the
35 <application>X</application> Window System, win32, image buffers,
36 PostScript, PDF and SVG. Experimental backends include OpenGL, Quartz and
37 XCB file output. <application>Cairo</application> is designed to produce
38 consistent output on all output media while taking advantage of display
39 hardware acceleration when available (e.g., through the X Render
40 Extension). The <application>Cairo</application> API provides operations
41 similar to the drawing operators of PostScript and PDF. Operations in
42 <application>Cairo</application> include stroking and filling cubic
43 B&eacute;zier splines, transforming and compositing translucent images,
44 and antialiased text rendering. All drawing operations can be transformed
45 by any
46 <ulink url="http://en.wikipedia.org/wiki/Affine_transformation">affine
47 transformation</ulink> (scale, rotation, shear, etc.).
48 </para>
49
50 &lfs72_checked;
51
52 <bridgehead renderas="sect3">Package Information</bridgehead>
53 <itemizedlist spacing="compact">
54 <listitem>
55 <para>
56 Download (HTTP): <ulink url="&cairo-download-http;"/>
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download (FTP): <ulink url="&cairo-download-ftp;"/>
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Download MD5 sum: &cairo-md5sum;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Download size: &cairo-size;
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Estimated disk space required: &cairo-buildsize;
77 </para>
78 </listitem>
79 <listitem>
80 <para>
81 Estimated build time: &cairo-time;
82 </para>
83 </listitem>
84 </itemizedlist>
85
86 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
87 <itemizedlist spacing="compact">
88 <listitem>
89 <para>
90 Required patch (if you intend to compile any Mozilla products):
91 <ulink url="&patch-root;/cairo-&cairo-version;-expose-snapshot-1.patch"/>
92 </para>
93 </listitem>
94 </itemizedlist>
95
96 <bridgehead renderas="sect3">Cairo Dependencies</bridgehead>
97
98 <bridgehead renderas="sect4">Required</bridgehead>
99 <para role="required">
100 <!-- Just a note: png is REQUIRED, since something that isn't REQUIRED
101 does not need bunch of DISABLE switches. You are breaking the package
102 for those that don't want to install recommended deps, and I've seen
103 lot of people like that. Leave it, it is not a big dep, and I suspect
104 that someone will install cairo just to test gobject-introspection, since
105 I doubt someone will need that unless building gnome stuff, and it is
106 really wrong way of thinking that someone might need cairo JUST to test
107 introspection. No offense. -->
108 <xref linkend="libpng"/>,
109 <xref linkend="glib2"/> and
110 <xref linkend="pixman"/>
111 </para>
112
113 <bridgehead renderas="sect4">Recommended (Required if building GTK+)</bridgehead>
114 <para role="recommended">
115 <xref linkend="fontconfig"/>,
116 <xref linkend="xorg7-lib"/>
117 </para>
118
119 <bridgehead renderas="sect4">Optional</bridgehead>
120 <para role="optional">
121 <xref linkend="cogl"/>,
122 <ulink url="http://www.directfb.org/">DirectFB</ulink>,
123 <xref linkend="gs"/> (for testing the postscript backend),
124 <xref linkend="gtk2"/> (for testing the PDF backend),
125 <xref linkend="gtk-doc"/>,
126 <xref linkend="libdrm"/>,
127 <xref linkend="librsvg"/> (for testing the SVG backend),
128 <ulink url="http://libspectre.freedesktop.org">libspectre</ulink> (for
129 testing the PDF backend),
130 <xref linkend="mesalib"/>,
131 <xref linkend="poppler"/> (for testing the PDF backend),
132 <xref linkend="qt"/>,
133 <ulink url="http://code.google.com/p/skia/">Skia</ulink> and
134 <ulink url="http://www.valgrind.org">Valgrind</ulink>.
135 </para>
136
137 <note>
138 <para>
139 There is a reciprocal dependency with the
140 <application>GTK+ 2</application>, <application>librsvg</application> and
141 <application>Poppler</application> packages. As the test suite is
142 currently unreliable, it is best to simply skip it at this time.
143 </para>
144 </note>
145
146 <para condition="html" role="usernotes">
147 User Notes: <ulink url="&blfs-wiki;/cairo"/>
148 </para>
149 </sect2>
150
151 <sect2 role="installation">
152 <title>Installation of Cairo</title>
153
154 <para>
155 Install <application>Cairo</application> by running the following
156 commands:
157 </para>
158
159<screen><userinput>sed -i 's#check-plt.sh ##' src/Makefile.in &amp;&amp;
160patch -p1 &lt; ../cairo-&cairo-version;-expose-snapshot-1.patch &amp;&amp;
161./configure --prefix=/usr --disable-static --enable-tee --enable-xcb &amp;&amp;
162make</userinput></screen>
163
164 <para>
165 Note that the tests take a long time to run, many of them fail for unknown
166 reasons and it has been known to cause a kernel panic. If you want to run
167 the tests issue: <command>make -k check</command>.
168 </para>
169
170 <para>
171 Now, as the <systemitem class="username">root</systemitem> user:
172 </para>
173
174<screen role="root"><userinput>make install</userinput></screen>
175 </sect2>
176
177 <sect2 role="commands">
178 <title>Command Explanations</title>
179
180 <para>
181 <command>sed -i 's#check-plt.sh ##' src/Makefile.in</command>: This sed
182 disables running a test which is known to fail with the expose-snapshot
183 patch.
184 </para>
185
186 <para>
187 <command>patch -p1 &lt;
188 ../cairo-&cairo-version;-expose-snapshot-1.patch</command>: This patch
189 exposes some private functions that <application>Firefox</application>
190 relies on. Applying this patch allows <application>Firefox</application>
191 to use the system installed <application>Cairo</application>.
192 </para>
193
194 <para>
195 <option>--enable-tee</option>: This is used by
196 <application>Firefox</application>. If you don't enable the Cairo's tee
197 surface backend you won't be able to build
198 <application>Firefox</application> with
199 <option>--enable-system-cairo</option>.
200 </para>
201
202 <para>
203 <option>--enable-gl</option>: Enable <application>Cairo</application>'s
204 OpenGL backend.
205 </para>
206
207 <para>
208 <option>--enable-xcb</option>: Enable <application>Cairo</application>'s
209 libxcb backend.
210 </para>
211
212 <para>
213 <option>--enable-vg</option>: Enable the <application>Cairo</application>
214 <ulink url="http://en.wikipedia.org/wiki/OpenVG">OpenVG</ulink> backend
215 (requires <xref linkend="mesalib"/> installed, configured with
216 --enable-gallium-egl and --enable-openvg).
217 </para>
218
219 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
220 href="../../xincludes/static-libraries.xml"/>
221
222 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
223 href="../../xincludes/gtk-doc-rebuild.xml"/>
224
225 </sect2>
226
227 <sect2 role="content">
228 <title>Contents</title>
229
230 <segmentedlist>
231 <segtitle>Installed Programs</segtitle>
232 <segtitle>Installed Libraries</segtitle>
233 <segtitle>Installed Directories</segtitle>
234
235 <seglistitem>
236 <seg>
237 cairo-sphinx and cairo-trace
238 </seg>
239 <seg>
240 libcairo.so, libcairo-gobject.so and
241 libcairo-script-interpreter.so
242 </seg>
243 <seg>
244 /usr/include/cairo,
245 /usr/lib/cairo and
246 /usr/share/gtk-doc/html/cairo
247 </seg>
248 </seglistitem>
249 </segmentedlist>
250
251 <variablelist>
252 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
253 <?dbfo list-presentation="list"?>
254 <?dbhtml list-presentation="table"?>
255
256 <varlistentry id="cairo-trace">
257 <term><command>cairo-trace</command></term>
258 <listitem>
259 <para>
260 generates a log of all calls made by an application to
261 <application>Cairo</application>.
262 </para>
263 <indexterm zone="cairo cairo-trace">
264 <primary sortas="b-cairo-trace">cairo-trace</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
269 <varlistentry id="libcairo">
270 <term><filename class='libraryfile'>libcairo.so</filename></term>
271 <listitem>
272 <para>
273 contains the 2D graphics functions required for rendering to the
274 various output targets.
275 </para>
276 <indexterm zone="cairo libcairo">
277 <primary sortas="c-libcairo">libcairo.so</primary>
278 </indexterm>
279 </listitem>
280 </varlistentry>
281
282 <varlistentry id="libcairo-gobject">
283 <term><filename class='libraryfile'>libcairo-gobject.so</filename></term>
284 <listitem>
285 <para>
286 contains functions that integrate
287 <application>Cairo</application> with <xref linkend="glib2"/>'s
288 GObject type system.
289 </para>
290 <indexterm zone="cairo libcairo-gobject">
291 <primary sortas="c-libcairo-gobject">libcairo-gobject.so</primary>
292 </indexterm>
293 </listitem>
294 </varlistentry>
295
296 <varlistentry id="libcairo-script-interpreter">
297 <term><filename class='libraryfile'>libcairo-script-interpreter.so</filename></term>
298 <listitem>
299 <para>
300 contains the script interpreter functions for executing and
301 manipulating <application>Cairo</application> execution traces.
302 </para>
303 <indexterm zone="cairo libcairo-script-interpreter">
304 <primary sortas="c-libcairo-script-interpreter">libcairo-script-interpreter.so</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 </variablelist>
310
311 </sect2>
312
313</sect1>
Note: See TracBrowser for help on using the repository browser.