Updated cairo to 1.10.2

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9006 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
Andrew Benton 2011-11-23 23:25:44 +00:00
parent 447b0bc47d
commit 827336dc34
3 changed files with 106 additions and 53 deletions

View File

@ -549,7 +549,7 @@ $Date$
<!ENTITY qt-version "3.3.8b">
<!ENTITY qt4-version "4.7.1">
<!ENTITY GTK-version "1.2.10">
<!ENTITY cairo-version "1.8.10">
<!ENTITY cairo-version "1.10.2">
<!ENTITY cairomm-version "1.6.2">
<!ENTITY pango-version "1.28.2">
<!ENTITY pangomm-version "2.26.2">

View File

@ -41,6 +41,15 @@
</listitem>
-->
<listitem>
<para>November 23rd, 2011</para>
<itemizedlist>
<listitem>
<para>[abenton] - Updated cairo to 1.10.2.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>November 22nd, 2011</para>
<itemizedlist>

View File

@ -6,10 +6,10 @@
<!ENTITY cairo-download-http "http://cairographics.org/releases/cairo-&cairo-version;.tar.gz">
<!ENTITY cairo-download-ftp "&gentoo-ftp-repo;/cairo-&cairo-version;.tar.gz">
<!ENTITY cairo-md5sum "b60a82f405f9400bbfdcf850b1728d25">
<!ENTITY cairo-size "7.1 MB">
<!ENTITY cairo-buildsize "40 MB (up to an additional 270 MB to run the test suite)">
<!ENTITY cairo-time "0.4 SBU (up to an additional 2.9 SBU to run the test suite)">
<!ENTITY cairo-md5sum "f101a9e88b783337b20b2e26dfd26d5f">
<!ENTITY cairo-size "22.5 MB">
<!ENTITY cairo-buildsize "145 MB (up to an additional 454 MB to run the test suite)">
<!ENTITY cairo-time "0.7 SBU (up to an additional 10 SBU to run the test suite)">
]>
<sect1 id="cairo" xreflabel="cairo-&cairo-version;">
@ -29,21 +29,22 @@
<sect2 role="package">
<title>Introduction to cairo</title>
<para><application>cairo</application> is a 2D graphics library with
<para><application>Cairo</application> is a 2D graphics library with
support for multiple output devices. Currently supported output targets
include the <application>X</application> Window System, win32, image
buffers, PostScript, PDF and SVG. Experimental backends include OpenGL
(through glitz), Quartz and XCB file output. cairo is designed to produce
consistent output on all output media while taking advantage of display
hardware acceleration when available (e.g., through the X Render
Extension). The <application>cairo</application> API provides operations
similar to the drawing operators of PostScript and PDF. Operations in
<application>cairo</application> include stroking and filling cubic
Bézier splines, transforming and compositing translucent images, and
Quartz and XCB file output. cairo is designed to produce consistent output
on all output media while taking advantage of display hardware acceleration
when available (e.g., through the X Render Extension). The
<application>Cairo</application> API provides operations similar to the
drawing operators of PostScript and PDF. Operations in
<application>Cairo</application> include stroking and filling cubic
B&eacute;zier splines, transforming and compositing translucent images, and
antialiased text rendering. All drawing operations can be transformed by
any affine transformation (scale, rotation, shear, etc.).</para>
any <ulink url="http://en.wikipedia.org/wiki/Affine_transformation">affine
transformation</ulink> (scale, rotation, shear, etc.).</para>
&lfs65_checked;
&lfs70_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
@ -70,34 +71,32 @@
<bridgehead renderas="sect3">cairo Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required"><xref linkend="libpng"/>,
<xref linkend="pixman"/>, and
<xref linkend="fontconfig"/></para>
<!-- and <xref linkend="pkgconfig"/></para> -->
<para role="required"><xref linkend="pkgconfig"/>, <xref linkend="libpng"/>,
<xref linkend="pixman"/>, and <xref linkend="fontconfig"/></para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended"><xref linkend="x-window-system"/></para>
<para role="recommended"><xref linkend="x-window-system"/> (gtk requires
cairo to be built after libX11 is installed)</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional"><ulink
url="http://www.freedesktop.org/Software/glitz">glitz</ulink>,
<para role="optional"><xref linkend="gtk-doc"/>,
<ulink url="http://www.directfb.org/">DirectFB</ulink>,
<xref linkend="gtk-doc"/>,
<xref linkend="xcb-util"/>,
<ulink url="http://libspectre.freedesktop.org">libspectre</ulink>, and
<ulink url="http://code.google.com/p/skia/">Skia</ulink> and
<ulink url="http://www.valgrind.org">Valgrind</ulink></para>
<bridgehead renderas="sect4">Optional (to provide extended test suite
coverage)</bridgehead>
<para role="optional"><xref linkend="gtk2"/> (for testing the PDF backend),
<xref linkend="poppler"/> (for testing the PDF backend), and
<xref linkend="librsvg"/> (for testing the SVG backend)
<!-- [ comment this pending clarification - not presently required] , and
<ulink url="http://ltp.sourceforge.net/">LTP</ulink>--></para>
<para role="optional"><xref linkend="gs"/> (to test the postscript
backend), <xref linkend="gtk2"/> (for testing the PDF backend),
<xref linkend="poppler"/> (for testing the PDF backend),
<ulink url="http://libspectre.freedesktop.org">libspectre</ulink> (to test
the PDF backend) and <xref linkend="librsvg"/> (for testing the SVG
backend)</para>
<para>Note that the GTK, Poppler and librsvg packages are circular in that
using them for test suite coverage requires installing cairo first,
then installing the desired package(s), then installing cairo again.</para>
using them for test suite coverage requires installing cairo first, then
installing the desired package(s), then installing cairo again. As the test
suite seems to be somewhat broken it doesn't seem worth the effort.</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/cairo"/></para>
@ -107,26 +106,19 @@
<sect2 role="installation">
<title>Installation of cairo</title>
<para>Install <application>cairo</application> by running the following
<para>Install <application>Cairo</application> by running the following
commands:</para>
<screen><userinput>./configure --prefix=/usr &amp;&amp;
<screen><userinput>./configure --prefix=/usr --enable-tee --enable-gl &amp;&amp;
make</userinput></screen>
<!-- Tested with Poppler 0.10.7, librsvg 2.26.0, libspectre 0.2.2,
GTK+ 2.26.5, and GPL Ghostscript 8.64.
29 of 205 tests failed -->
<para>To test the results, issue: <command>make -k check</command>.</para>
<para>To test the results, issue: <command>make check</command>. Note that
as many as 29 of the tests are known to fail for unknown reasons.
If you do not have a <command>gs</command> binary in your path, many
<!-- used to be (87 of $total), needs to be updated by someone who can
get them to run through without hanging -->
of the 205 tests will fail. Also, to enhance test
coverage, the tests should be run with an available X Window screen (e.g.
from a local xterm or equivalent window).</para>
<para>Note that the tests take a long time to run and many of them fail for
unknown reasons.</para>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<para>Now, as the <systemitem class="username">root</systemitem>
user:</para>
<screen role="root"><userinput>make install</userinput></screen>
@ -138,11 +130,27 @@ make</userinput></screen>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/gtk-doc-rebuild.xml"/>
<para><option>--enable-xcb=yes</option>: Enable the xcb back end.
</para>
<para><option>--enable-tee</option>: This is used by
<application>Firefox</application>. If you don't enable the Cairo's tee
surface back end you won't be able to build
<application>Firefox</application> with
<option>--enable-system-cairo</option>.</para>
<para><option>--disable-static</option>: Prevent static libraries
being built and installed.</para>
<para><option>--enable-gl</option>: Enable the
<application>Cairo</application> OpenGL back end. Remove this option if
you've not installed <xref linkend="mesalib"/>.</para>
<para><option>--enable-xcb</option>: Enable
<application>Cairo</application>'s <xref linkend="libxcb"/> back end.</para>
<para><option>--disable-static</option>: Prevent static libraries being
built and installed.</para>
<para><option>--enable-vg</option>: Enable the
<application>Cairo</application>
<ulink url="http://en.wikipedia.org/wiki/OpenVG">OpenVG</ulink> back
end (requires <xref linkend="mesalib"/> installed, configured with
--enable-gallium-egl and --enable-openvg).</para>
</sect2>
@ -155,9 +163,11 @@ make</userinput></screen>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>None</seg>
<seg>libcairo.{so,a}</seg>
<seg>/usr/include/cairo and /usr/share/gtk-doc/html/cairo</seg>
<seg>cairo-trace</seg>
<seg>libcairo.{so,a}, libcairo-gobject.{so,a} and
libcairo-script-interpreter.{so,a}</seg>
<seg>/usr/include/cairo, usr/lib/cairo and
/usr/share/gtk-doc/html/cairo</seg>
</seglistitem>
</segmentedlist>
@ -166,6 +176,17 @@ make</userinput></screen>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="cairo-trace">
<term><command>cairo-trace</command></term>
<listitem>
<para>generates a log of all calls made by an application to
<application>Cairo</application>.</para>
<indexterm zone="cairo cairo-trace">
<primary sortas="b-cairo-trace">cairo-trace</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libcairo">
<term><filename class='libraryfile'>libcairo.{so,a}</filename></term>
<listitem>
@ -177,6 +198,29 @@ make</userinput></screen>
</listitem>
</varlistentry>
<varlistentry id="libcairo-gobject">
<term><filename class='libraryfile'>libcairo-gobject.{so,a}</filename></term>
<listitem>
<para>contains functions that integrate
<application>Cairo</application> with <xref linkend="glib2"/>'s
GObject type system.</para>
<indexterm zone="cairo libcairo-gobject">
<primary sortas="c-libcairo-gobject">libcairo-gobject.{so,a}</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libcairo-script-interpreter">
<term><filename class='libraryfile'>libcairo-script-interpreter.{so,a}</filename></term>
<listitem>
<para>contains the script interpreter functions for executing and
manipulating <application>Cairo</application> execution traces.</para>
<indexterm zone="cairo libcairo-script-interpreter">
<primary sortas="c-libcairo-script-interpreter">libcairo-script-interpreter.{so,a}</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>