source: x/lib/cairo.xml@ 83c3980

lazarus trunk
Last change on this file since 83c3980 was 1241ea19, checked in by Bruce Dubbs <bdubbs@…>, 4 months ago

Tag xfce and dependencies

  • Property mode set to 100644
File size: 9.8 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[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
[1fc53421]7 <!ENTITY cairo-download-http "https://www.cairographics.org/releases/cairo-&cairo-version;.tar.xz">
[a5fe42a]8 <!--<!ENTITY cairo-download-http "https://www.cairographics.org/snapshots/cairo-&cairo-version;.tar.xz">
9 <!ENTITY cairo-download-http "&sources-anduin-http;/cairo/cairo-&cairo-version;.tar.xz">-->
[97ccf511]10 <!ENTITY cairo-download-ftp " ">
[1fc53421]11 <!ENTITY cairo-md5sum "3f0685fbadc530606f965b9645bb51d9">
12 <!ENTITY cairo-size "32 MB">
13 <!ENTITY cairo-buildsize "98 MB">
14 <!ENTITY cairo-time "0.3 SBU (Using parallelism=4)">
[bb41bc7]15]>
16
[a2912ff]17<sect1 id="cairo" xreflabel="Cairo-&cairo-version;">
[bb41bc7]18 <?dbhtml filename="cairo.html"?>
19
20
[a2912ff]21 <title>Cairo-&cairo-version;</title>
[bb41bc7]22
23 <indexterm zone="cairo">
[a2912ff]24 <primary sortas="a-Cairo">Cairo</primary>
[bb41bc7]25 </indexterm>
26
27 <sect2 role="package">
[4db1ba6]28 <title>Introduction to Cairo</title>
[bb41bc7]29
[521cea0]30 <para>
31 <application>Cairo</application> is a 2D graphics library with support for
32 multiple output devices. Currently supported output targets include the
[1fc53421]33 <application>X</application> Window System, Win32, image buffers,
[521cea0]34 PostScript, PDF and SVG. Experimental backends include OpenGL, Quartz and
[68d01360]35 XCB file output. <application>Cairo</application> is designed to produce
36 consistent output on all output media while taking advantage of display
37 hardware acceleration when available (e.g., through the X Render
38 Extension). The <application>Cairo</application> API provides operations
39 similar to the drawing operators of PostScript and PDF. Operations in
[521cea0]40 <application>Cairo</application> include stroking and filling cubic
41 B&eacute;zier splines, transforming and compositing translucent images,
42 and antialiased text rendering. All drawing operations can be transformed
43 by any
[87fc185]44 <ulink url="https://en.wikipedia.org/wiki/Affine_transformation">affine
[521cea0]45 transformation</ulink> (scale, rotation, shear, etc.).
46 </para>
[bb41bc7]47
[1241ea19]48 &lfs121_checked;
[3af39b1]49
[bb41bc7]50 <bridgehead renderas="sect3">Package Information</bridgehead>
51 <itemizedlist spacing="compact">
52 <listitem>
[521cea0]53 <para>
54 Download (HTTP): <ulink url="&cairo-download-http;"/>
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download (FTP): <ulink url="&cairo-download-ftp;"/>
60 </para>
[bb41bc7]61 </listitem>
62 <listitem>
[521cea0]63 <para>
64 Download MD5 sum: &cairo-md5sum;
65 </para>
[bb41bc7]66 </listitem>
67 <listitem>
[521cea0]68 <para>
69 Download size: &cairo-size;
70 </para>
[bb41bc7]71 </listitem>
72 <listitem>
[521cea0]73 <para>
74 Estimated disk space required: &cairo-buildsize;
75 </para>
[bb41bc7]76 </listitem>
77 <listitem>
[521cea0]78 <para>
79 Estimated build time: &cairo-time;
80 </para>
[bb41bc7]81 </listitem>
[521cea0]82 </itemizedlist>
83
[4db1ba6]84 <bridgehead renderas="sect3">Cairo Dependencies</bridgehead>
[bb41bc7]85
86 <bridgehead renderas="sect4">Required</bridgehead>
[b8a081c]87 <para role="required">
[1cfd61d]88 <xref linkend="libpng"/> and
[b0ae5b7]89 <xref linkend="pixman"/>
[4db1ba6]90 </para>
91
[f575476]92 <bridgehead renderas="sect4">Recommended</bridgehead>
[4db1ba6]93 <para role="recommended">
[1cfd61d]94 <xref linkend="fontconfig"/>,
[3df8ea47]95 <xref linkend="glib2"/> (required for most GUIs), and
[a2912ff]96 <xref linkend="xorg7-lib"/>
[b8a081c]97 </para>
[bc9c1def]98
[bb41bc7]99 <bridgehead renderas="sect4">Optional</bridgehead>
[b8a081c]100 <para role="optional">
[dc22bd6]101 <!--<xref linkend="cogl"/>,-->
[11d14a27]102 <xref linkend="gs"/>,
103 <xref linkend="gtk3"/> and <xref linkend="gtk2"/>,
[b8a081c]104 <xref linkend="gtk-doc"/>,
[521cea0]105 <xref linkend="libdrm"/>,
[11d14a27]106 <xref linkend="librsvg"/>,
[f68e46f]107 <xref linkend="libxml2"/>,
[652b18b]108 <xref linkend="lzo"/>,
[7a395d1]109 <xref linkend="mesa"/>,
[11d14a27]110 <xref linkend="poppler"/>,
[dc22bd6]111 <!--&qt5-deps;,-->
[ae629f3]112 <xref linkend="valgrind"/>,
[dc22bd6]113 <!--<ulink url="https://pkgs.fedoraproject.org/repo/pkgs/directfb/">DirectFB</ulink>,-->
[11d14a27]114 <ulink url="https://github.com/rillian/jbig2dec/">jbig2dec</ulink>,
[dc22bd6]115 <ulink url="https://www.freedesktop.org/wiki/Software/libspectre/">libspectre</ulink>, and
116 <ulink url="https://skia.org/">Skia</ulink>
117 <!--<ulink url="https://download.qt.io/archive/qt/4.8/">Qt4</ulink>.-->
[b8a081c]118 </para>
[6e08fa52]119
[baac59c]120 <note>
121 <para>
122 There is a circular dependency between cairo and harfbuzz.
123 If cairo is built before harfbuzz, it is necessary to rebuild cairo
124 after harfbuzz in order to build pango.
125 </para>
126 </note>
[e641675]127
[bb41bc7]128 </sect2>
129
130 <sect2 role="installation">
[4db1ba6]131 <title>Installation of Cairo</title>
[bb41bc7]132
[35a179c8]133 <!-- /usr/include/ansidecl.h says "This file is part of the GNU C
134 Library", but it's actually installed by Binutils. -->
[1fc53421]135<!--
[ba3b0498]136 <para>
[35a179c8]137 Adapt this package for Binutils-2.39 or later:
[ba3b0498]138 </para>
139
140<screen><userinput>sed 's/PTR/void */' -i util/cairo-trace/lookup-symbol.c</userinput></screen>
141
[8969d72]142 <para>
143 Fix a pkg-config file that may cause errors later:
144 </para>
145
146<screen><userinput>sed -e "/@prefix@/a exec_prefix=@exec_prefix@" \
147 -i util/cairo-script/cairo-script-interpreter.pc.in</userinput></screen>
[1fc53421]148-->
[8969d72]149
[521cea0]150 <para>
151 Install <application>Cairo</application> by running the following
152 commands:
153 </para>
[bb41bc7]154
[1fc53421]155<screen><userinput>mkdir build &amp;&amp;
156cd build &amp;&amp;
157
158meson setup --prefix=/usr --buildtype=release .. &amp;&amp;
159ninja</userinput></screen>
[bb41bc7]160
[f575476]161 <para>
[48771ae]162 This package does not have a working test suite.
[1fc53421]163 <!-- The test suite can be run with 'ninja test', but 488 tests fail and
[a2ce753]164 59 tests pass. This seems to be due to minute changes in the expected
165 output, similar to librsvg's tests. Since it's a huge chunk of the tests,
166 let's keep it as "broken" for now.-->
[521cea0]167 </para>
[bb41bc7]168
[521cea0]169 <para>
170 Now, as the <systemitem class="username">root</systemitem> user:
171 </para>
[bb41bc7]172
[1fc53421]173<screen role="root"><userinput>ninja install</userinput></screen>
[bb41bc7]174 </sect2>
175
[15a4fb4c]176 <sect2 role="commands">
177 <title>Command Explanations</title>
178
[1fc53421]179<!-- Enabled by default in 1.18.0 (would be -Dtee=enabled otherwise)
[7251b1d]180 <para>
[1fc53421]181 <parameter>- -enable-tee</parameter>: This switch enables the
[8558044]182 experimental tee surface backend which is required if using
[11d14a27]183 system-installed <application>Cairo</application> with Mozilla applications.
[7251b1d]184 </para>
[1fc53421]185-->
[7251b1d]186
[a98acfe7]187 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1fc53421]188 href="../../xincludes/meson-buildtype-release.xml"/>
[827336dc]189
[74520e8]190 <para>
[1fc53421]191 <option>-Dxlib-xcb=enabled</option>: This switch enables several
[5ec23d4]192 experimental Xlib/XCB functions used by some window managers.
[74520e8]193 </para>
194
[1fc53421]195<!-- Removed in 1.18.0
[521cea0]196 <para>
[1fc53421]197 <option>- -enable-gl</option>: This switch enables
[f575476]198 <application>Cairo</application>'s experimental
199 <application>OpenGL</application> surface which
200 is required for <application>Wayland</application>
[a98acfe7]201 compositor and some other packages that are not
202 part of BLFS.
[521cea0]203 </para>
[1fc53421]204-->
[f25b2c03]205
206 <para>
[1fc53421]207 <option>-Dgtk_doc=true</option>: Use this parameter if GTK-Doc is
[f25b2c03]208 installed and you wish to create and install the documentation.
209 </para>
[a2912ff]210
[15a4fb4c]211 </sect2>
212
[bb41bc7]213 <sect2 role="content">
214 <title>Contents</title>
215
216 <segmentedlist>
217 <segtitle>Installed Programs</segtitle>
[742b99e]218 <segtitle>Installed Libraries</segtitle>
[bb41bc7]219 <segtitle>Installed Directories</segtitle>
220
221 <seglistitem>
[b8a081c]222 <seg>
[a2ce753]223 cairo-trace
[b8a081c]224 </seg>
225 <seg>
[1fc53421]226 libcairo.so,
227 libcairo-gobject.so, and
[4db1ba6]228 libcairo-script-interpreter.so
[b8a081c]229 </seg>
230 <seg>
[1fc53421]231 /usr/include/cairo and
232 /usr/lib/cairo
[b8a081c]233 </seg>
[bb41bc7]234 </seglistitem>
235 </segmentedlist>
236
237 <variablelist>
238 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
239 <?dbfo list-presentation="list"?>
240 <?dbhtml list-presentation="table"?>
241
[827336dc]242 <varlistentry id="cairo-trace">
243 <term><command>cairo-trace</command></term>
244 <listitem>
[521cea0]245 <para>
246 generates a log of all calls made by an application to
[4c24eb0a]247 <application>Cairo</application>
[521cea0]248 </para>
[827336dc]249 <indexterm zone="cairo cairo-trace">
250 <primary sortas="b-cairo-trace">cairo-trace</primary>
251 </indexterm>
252 </listitem>
253 </varlistentry>
254
[bb41bc7]255 <varlistentry id="libcairo">
[f575476]256 <term><filename class="libraryfile">libcairo.so</filename></term>
[bb41bc7]257 <listitem>
[521cea0]258 <para>
259 contains the 2D graphics functions required for rendering to the
[4c24eb0a]260 various output targets
[521cea0]261 </para>
[bb41bc7]262 <indexterm zone="cairo libcairo">
[4db1ba6]263 <primary sortas="c-libcairo">libcairo.so</primary>
[bb41bc7]264 </indexterm>
265 </listitem>
266 </varlistentry>
267
[827336dc]268 <varlistentry id="libcairo-gobject">
[7ca0e36]269 <term><filename class="libraryfile">libcairo-gobject.so</filename></term>
[827336dc]270 <listitem>
[521cea0]271 <para>
272 contains functions that integrate
[8558044]273 <application>Cairo</application> with
[4c24eb0a]274 <application>Glib</application>'s GObject type system
[521cea0]275 </para>
[827336dc]276 <indexterm zone="cairo libcairo-gobject">
[4db1ba6]277 <primary sortas="c-libcairo-gobject">libcairo-gobject.so</primary>
[827336dc]278 </indexterm>
279 </listitem>
280 </varlistentry>
281
282 <varlistentry id="libcairo-script-interpreter">
[7ca0e36]283 <term><filename class="libraryfile">libcairo-script-interpreter.so</filename></term>
[827336dc]284 <listitem>
[521cea0]285 <para>
286 contains the script interpreter functions for executing and
[4c24eb0a]287 manipulating <application>Cairo</application> execution traces
[521cea0]288 </para>
[827336dc]289 <indexterm zone="cairo libcairo-script-interpreter">
[4db1ba6]290 <primary sortas="c-libcairo-script-interpreter">libcairo-script-interpreter.so</primary>
[827336dc]291 </indexterm>
292 </listitem>
293 </varlistentry>
[a2912ff]294
[bb41bc7]295 </variablelist>
[a2912ff]296
[bb41bc7]297 </sect2>
[a2912ff]298
[bb41bc7]299</sect1>
Note: See TracBrowser for help on using the repository browser.