source: x/lib/cairo.xml@ 7c83169b

12.2 lazarus trunk xry111/for-12.3
Last change on this file since 7c83169b was 82b0e62, checked in by Bruce Dubbs <bdubbs@…>, 2 months ago

Make references to gtk2 external.

  • Property mode set to 100644
File size: 9.7 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"/>,
[82b0e62]103 <xref linkend="gtk3"/>,
[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>,-->
[82b0e62]114 &gtk2;
[11d14a27]115 <ulink url="https://github.com/rillian/jbig2dec/">jbig2dec</ulink>,
[dc22bd6]116 <ulink url="https://www.freedesktop.org/wiki/Software/libspectre/">libspectre</ulink>, and
117 <ulink url="https://skia.org/">Skia</ulink>
118 <!--<ulink url="https://download.qt.io/archive/qt/4.8/">Qt4</ulink>.-->
[b8a081c]119 </para>
[6e08fa52]120
[baac59c]121 <note>
122 <para>
123 There is a circular dependency between cairo and harfbuzz.
124 If cairo is built before harfbuzz, it is necessary to rebuild cairo
125 after harfbuzz in order to build pango.
126 </para>
127 </note>
[e641675]128
[bb41bc7]129 </sect2>
130
131 <sect2 role="installation">
[4db1ba6]132 <title>Installation of Cairo</title>
[bb41bc7]133
[35a179c8]134 <!-- /usr/include/ansidecl.h says "This file is part of the GNU C
135 Library", but it's actually installed by Binutils. -->
[1fc53421]136<!--
[ba3b0498]137 <para>
[35a179c8]138 Adapt this package for Binutils-2.39 or later:
[ba3b0498]139 </para>
140
141<screen><userinput>sed 's/PTR/void */' -i util/cairo-trace/lookup-symbol.c</userinput></screen>
142
[8969d72]143 <para>
144 Fix a pkg-config file that may cause errors later:
145 </para>
146
147<screen><userinput>sed -e "/@prefix@/a exec_prefix=@exec_prefix@" \
148 -i util/cairo-script/cairo-script-interpreter.pc.in</userinput></screen>
[1fc53421]149-->
[8969d72]150
[521cea0]151 <para>
152 Install <application>Cairo</application> by running the following
153 commands:
154 </para>
[bb41bc7]155
[1fc53421]156<screen><userinput>mkdir build &amp;&amp;
157cd build &amp;&amp;
158
159meson setup --prefix=/usr --buildtype=release .. &amp;&amp;
160ninja</userinput></screen>
[bb41bc7]161
[f575476]162 <para>
[48771ae]163 This package does not have a working test suite.
[1fc53421]164 <!-- The test suite can be run with 'ninja test', but 488 tests fail and
[a2ce753]165 59 tests pass. This seems to be due to minute changes in the expected
166 output, similar to librsvg's tests. Since it's a huge chunk of the tests,
167 let's keep it as "broken" for now.-->
[521cea0]168 </para>
[bb41bc7]169
[521cea0]170 <para>
171 Now, as the <systemitem class="username">root</systemitem> user:
172 </para>
[bb41bc7]173
[1fc53421]174<screen role="root"><userinput>ninja install</userinput></screen>
[bb41bc7]175 </sect2>
176
[15a4fb4c]177 <sect2 role="commands">
178 <title>Command Explanations</title>
179
[1fc53421]180<!-- Enabled by default in 1.18.0 (would be -Dtee=enabled otherwise)
[7251b1d]181 <para>
[1fc53421]182 <parameter>- -enable-tee</parameter>: This switch enables the
[8558044]183 experimental tee surface backend which is required if using
[11d14a27]184 system-installed <application>Cairo</application> with Mozilla applications.
[7251b1d]185 </para>
[1fc53421]186-->
[7251b1d]187
[a98acfe7]188 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[1fc53421]189 href="../../xincludes/meson-buildtype-release.xml"/>
[827336dc]190
[74520e8]191 <para>
[1fc53421]192 <option>-Dxlib-xcb=enabled</option>: This switch enables several
[5ec23d4]193 experimental Xlib/XCB functions used by some window managers.
[74520e8]194 </para>
195
[1fc53421]196<!-- Removed in 1.18.0
[521cea0]197 <para>
[1fc53421]198 <option>- -enable-gl</option>: This switch enables
[f575476]199 <application>Cairo</application>'s experimental
200 <application>OpenGL</application> surface which
201 is required for <application>Wayland</application>
[a98acfe7]202 compositor and some other packages that are not
203 part of BLFS.
[521cea0]204 </para>
[1fc53421]205-->
[f25b2c03]206
207 <para>
[1fc53421]208 <option>-Dgtk_doc=true</option>: Use this parameter if GTK-Doc is
[f25b2c03]209 installed and you wish to create and install the documentation.
210 </para>
[a2912ff]211
[15a4fb4c]212 </sect2>
213
[bb41bc7]214 <sect2 role="content">
215 <title>Contents</title>
216
217 <segmentedlist>
218 <segtitle>Installed Programs</segtitle>
[742b99e]219 <segtitle>Installed Libraries</segtitle>
[bb41bc7]220 <segtitle>Installed Directories</segtitle>
221
222 <seglistitem>
[b8a081c]223 <seg>
[a2ce753]224 cairo-trace
[b8a081c]225 </seg>
226 <seg>
[1fc53421]227 libcairo.so,
228 libcairo-gobject.so, and
[4db1ba6]229 libcairo-script-interpreter.so
[b8a081c]230 </seg>
231 <seg>
[1fc53421]232 /usr/include/cairo and
233 /usr/lib/cairo
[b8a081c]234 </seg>
[bb41bc7]235 </seglistitem>
236 </segmentedlist>
237
238 <variablelist>
239 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
240 <?dbfo list-presentation="list"?>
241 <?dbhtml list-presentation="table"?>
242
[827336dc]243 <varlistentry id="cairo-trace">
244 <term><command>cairo-trace</command></term>
245 <listitem>
[521cea0]246 <para>
247 generates a log of all calls made by an application to
[4c24eb0a]248 <application>Cairo</application>
[521cea0]249 </para>
[827336dc]250 <indexterm zone="cairo cairo-trace">
251 <primary sortas="b-cairo-trace">cairo-trace</primary>
252 </indexterm>
253 </listitem>
254 </varlistentry>
255
[bb41bc7]256 <varlistentry id="libcairo">
[f575476]257 <term><filename class="libraryfile">libcairo.so</filename></term>
[bb41bc7]258 <listitem>
[521cea0]259 <para>
260 contains the 2D graphics functions required for rendering to the
[4c24eb0a]261 various output targets
[521cea0]262 </para>
[bb41bc7]263 <indexterm zone="cairo libcairo">
[4db1ba6]264 <primary sortas="c-libcairo">libcairo.so</primary>
[bb41bc7]265 </indexterm>
266 </listitem>
267 </varlistentry>
268
[827336dc]269 <varlistentry id="libcairo-gobject">
[7ca0e36]270 <term><filename class="libraryfile">libcairo-gobject.so</filename></term>
[827336dc]271 <listitem>
[521cea0]272 <para>
273 contains functions that integrate
[8558044]274 <application>Cairo</application> with
[4c24eb0a]275 <application>Glib</application>'s GObject type system
[521cea0]276 </para>
[827336dc]277 <indexterm zone="cairo libcairo-gobject">
[4db1ba6]278 <primary sortas="c-libcairo-gobject">libcairo-gobject.so</primary>
[827336dc]279 </indexterm>
280 </listitem>
281 </varlistentry>
282
283 <varlistentry id="libcairo-script-interpreter">
[7ca0e36]284 <term><filename class="libraryfile">libcairo-script-interpreter.so</filename></term>
[827336dc]285 <listitem>
[521cea0]286 <para>
287 contains the script interpreter functions for executing and
[4c24eb0a]288 manipulating <application>Cairo</application> execution traces
[521cea0]289 </para>
[827336dc]290 <indexterm zone="cairo libcairo-script-interpreter">
[4db1ba6]291 <primary sortas="c-libcairo-script-interpreter">libcairo-script-interpreter.so</primary>
[827336dc]292 </indexterm>
293 </listitem>
294 </varlistentry>
[a2912ff]295
[bb41bc7]296 </variablelist>
[a2912ff]297
[bb41bc7]298 </sect2>
[a2912ff]299
[bb41bc7]300</sect1>
Note: See TracBrowser for help on using the repository browser.