source: x/lib/cairo.xml@ 1497c445

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 gimp3 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/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 1497c445 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
RevLine 
[bb41bc7]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[bb41bc7]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[a2912ff]7 <!ENTITY cairo-download-http "http://cairographics.org/releases/cairo-&cairo-version;.tar.xz">
[97ccf511]8 <!ENTITY cairo-download-ftp " ">
[178e985]9 <!ENTITY cairo-md5sum "87649eb75789739d517c743e94879e51">
10 <!ENTITY cairo-size "41 MB">
11 <!ENTITY cairo-buildsize "178 MB">
12 <!ENTITY cairo-time "1.1 SBU">
[bb41bc7]13]>
14
[a2912ff]15<sect1 id="cairo" xreflabel="Cairo-&cairo-version;">
[bb41bc7]16 <?dbhtml filename="cairo.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
[a2912ff]23 <title>Cairo-&cairo-version;</title>
[bb41bc7]24
25 <indexterm zone="cairo">
[a2912ff]26 <primary sortas="a-Cairo">Cairo</primary>
[bb41bc7]27 </indexterm>
28
29 <sect2 role="package">
[4db1ba6]30 <title>Introduction to Cairo</title>
[bb41bc7]31
[521cea0]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
[68d01360]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
[521cea0]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>
[bb41bc7]49
[2839d1e]50 &lfs72_checked;
[3af39b1]51
[bb41bc7]52 <bridgehead renderas="sect3">Package Information</bridgehead>
53 <itemizedlist spacing="compact">
54 <listitem>
[521cea0]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>
[bb41bc7]63 </listitem>
64 <listitem>
[521cea0]65 <para>
66 Download MD5 sum: &cairo-md5sum;
67 </para>
[bb41bc7]68 </listitem>
69 <listitem>
[521cea0]70 <para>
71 Download size: &cairo-size;
72 </para>
[bb41bc7]73 </listitem>
74 <listitem>
[521cea0]75 <para>
76 Estimated disk space required: &cairo-buildsize;
77 </para>
[bb41bc7]78 </listitem>
79 <listitem>
[521cea0]80 <para>
81 Estimated build time: &cairo-time;
82 </para>
[bb41bc7]83 </listitem>
[521cea0]84 </itemizedlist>
85
86 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
87 <itemizedlist spacing="compact">
[bb41bc7]88 <listitem>
[521cea0]89 <para>
[4db1ba6]90 Required patch (if you intend to compile any Mozilla products):
[521cea0]91 <ulink url="&patch-root;/cairo-&cairo-version;-expose-snapshot-1.patch"/>
92 </para>
[bb41bc7]93 </listitem>
94 </itemizedlist>
95
[4db1ba6]96 <bridgehead renderas="sect3">Cairo Dependencies</bridgehead>
[bb41bc7]97
98 <bridgehead renderas="sect4">Required</bridgehead>
[b8a081c]99 <para role="required">
[a2912ff]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"/>,
[b0ae5b7]109 <xref linkend="glib2"/> and
110 <xref linkend="pixman"/>
[4db1ba6]111 </para>
112
[75d341a1]113 <bridgehead renderas="sect4">Recommended (Required if building GTK+)</bridgehead>
[4db1ba6]114 <para role="recommended">
[1fdee20]115 <xref linkend="fontconfig"/>,
[a2912ff]116 <xref linkend="xorg7-lib"/>
[b8a081c]117 </para>
[bc9c1def]118
[bb41bc7]119 <bridgehead renderas="sect4">Optional</bridgehead>
[b8a081c]120 <para role="optional">
121 <xref linkend="cogl"/>,
122 <ulink url="http://www.directfb.org/">DirectFB</ulink>,
[d9cf59b]123 <xref linkend="gs"/> (for testing the postscript backend),
124 <xref linkend="gtk2"/> (for testing the PDF backend),
[b8a081c]125 <xref linkend="gtk-doc"/>,
[521cea0]126 <xref linkend="libdrm"/>,
[d9cf59b]127 <xref linkend="librsvg"/> (for testing the SVG backend),
128 <ulink url="http://libspectre.freedesktop.org">libspectre</ulink> (for
129 testing the PDF backend),
[b8a081c]130 <xref linkend="mesalib"/>,
[d9cf59b]131 <xref linkend="poppler"/> (for testing the PDF backend),
[d99d728]132 <xref linkend="qt"/>,
[b8a081c]133 <ulink url="http://code.google.com/p/skia/">Skia</ulink> and
[d9cf59b]134 <ulink url="http://www.valgrind.org">Valgrind</ulink>.
[b8a081c]135 </para>
[6e08fa52]136
[521cea0]137 <note>
138 <para>
[4db1ba6]139 There is a reciprocal dependency with the
[a2912ff]140 <application>GTK+ 2</application>, <application>librsvg</application> and
[4db1ba6]141 <application>Poppler</application> packages. As the test suite is
142 currently unreliable, it is best to simply skip it at this time.
[521cea0]143 </para>
144 </note>
145
146 <para condition="html" role="usernotes">
147 User Notes: <ulink url="&blfs-wiki;/cairo"/>
148 </para>
[bb41bc7]149 </sect2>
150
151 <sect2 role="installation">
[4db1ba6]152 <title>Installation of Cairo</title>
[bb41bc7]153
[521cea0]154 <para>
155 Install <application>Cairo</application> by running the following
156 commands:
157 </para>
[bb41bc7]158
[afb079c]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;
[9fadf58]161./configure --prefix=/usr --disable-static --enable-tee --enable-xcb &amp;&amp;
[bb41bc7]162make</userinput></screen>
163
[521cea0]164 <para>
[d9cf59b]165 Note that the tests take a long time to run, many of them fail for unknown
[a2912ff]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>.
[521cea0]168 </para>
[bb41bc7]169
[521cea0]170 <para>
171 Now, as the <systemitem class="username">root</systemitem> user:
172 </para>
[bb41bc7]173
174<screen role="root"><userinput>make install</userinput></screen>
175 </sect2>
176
[15a4fb4c]177 <sect2 role="commands">
178 <title>Command Explanations</title>
179
[afb079c]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
[521cea0]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>
[bc9c1def]193
[521cea0]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>
[827336dc]201
[521cea0]202 <para>
203 <option>--enable-gl</option>: Enable <application>Cairo</application>'s
204 OpenGL backend.
205 </para>
[827336dc]206
[521cea0]207 <para>
208 <option>--enable-xcb</option>: Enable <application>Cairo</application>'s
209 libxcb backend.
[97ccf511]210 </para>
[827336dc]211
[521cea0]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>
[bc9c1def]218
[521cea0]219 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
220 href="../../xincludes/static-libraries.xml"/>
[97ccf511]221
[521cea0]222 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[a2912ff]223 href="../../xincludes/gtk-doc-rebuild.xml"/>
224
[15a4fb4c]225 </sect2>
226
[bb41bc7]227 <sect2 role="content">
228 <title>Contents</title>
229
230 <segmentedlist>
231 <segtitle>Installed Programs</segtitle>
[742b99e]232 <segtitle>Installed Libraries</segtitle>
[bb41bc7]233 <segtitle>Installed Directories</segtitle>
234
235 <seglistitem>
[b8a081c]236 <seg>
237 cairo-sphinx and cairo-trace
238 </seg>
239 <seg>
[4db1ba6]240 libcairo.so, libcairo-gobject.so and
241 libcairo-script-interpreter.so
[b8a081c]242 </seg>
243 <seg>
[a2912ff]244 /usr/include/cairo,
245 /usr/lib/cairo and
[b8a081c]246 /usr/share/gtk-doc/html/cairo
247 </seg>
[bb41bc7]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
[827336dc]256 <varlistentry id="cairo-trace">
257 <term><command>cairo-trace</command></term>
258 <listitem>
[521cea0]259 <para>
260 generates a log of all calls made by an application to
261 <application>Cairo</application>.
262 </para>
[827336dc]263 <indexterm zone="cairo cairo-trace">
264 <primary sortas="b-cairo-trace">cairo-trace</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
[bb41bc7]269 <varlistentry id="libcairo">
[4db1ba6]270 <term><filename class='libraryfile'>libcairo.so</filename></term>
[bb41bc7]271 <listitem>
[521cea0]272 <para>
273 contains the 2D graphics functions required for rendering to the
274 various output targets.
275 </para>
[bb41bc7]276 <indexterm zone="cairo libcairo">
[4db1ba6]277 <primary sortas="c-libcairo">libcairo.so</primary>
[bb41bc7]278 </indexterm>
279 </listitem>
280 </varlistentry>
281
[827336dc]282 <varlistentry id="libcairo-gobject">
[4db1ba6]283 <term><filename class='libraryfile'>libcairo-gobject.so</filename></term>
[827336dc]284 <listitem>
[521cea0]285 <para>
286 contains functions that integrate
287 <application>Cairo</application> with <xref linkend="glib2"/>'s
288 GObject type system.
289 </para>
[827336dc]290 <indexterm zone="cairo libcairo-gobject">
[4db1ba6]291 <primary sortas="c-libcairo-gobject">libcairo-gobject.so</primary>
[827336dc]292 </indexterm>
293 </listitem>
294 </varlistentry>
295
296 <varlistentry id="libcairo-script-interpreter">
[4db1ba6]297 <term><filename class='libraryfile'>libcairo-script-interpreter.so</filename></term>
[827336dc]298 <listitem>
[521cea0]299 <para>
300 contains the script interpreter functions for executing and
301 manipulating <application>Cairo</application> execution traces.
302 </para>
[827336dc]303 <indexterm zone="cairo libcairo-script-interpreter">
[4db1ba6]304 <primary sortas="c-libcairo-script-interpreter">libcairo-script-interpreter.so</primary>
[827336dc]305 </indexterm>
306 </listitem>
307 </varlistentry>
[a2912ff]308
[bb41bc7]309 </variablelist>
[a2912ff]310
[bb41bc7]311 </sect2>
[a2912ff]312
[bb41bc7]313</sect1>
Note: See TracBrowser for help on using the repository browser.