mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-01 21:12:12 +08:00
45ada55427
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@10500 af4574ff-66df-0310-9fd7-8a98e5e911e0
348 lines
12 KiB
XML
348 lines
12 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY webkitgtk-download-http "http://webkitgtk.org/releases/webkit-&webkitgtk-version;.tar.xz">
|
|
<!ENTITY webkitgtk-download-ftp " ">
|
|
<!ENTITY webkitgtk-md5sum "f7bd0bd4f323039f15e19c82a9a8313c">
|
|
<!ENTITY webkitgtk-size "7.7 MB">
|
|
<!ENTITY webkitgtk-buildsize "700 MB">
|
|
<!ENTITY webkitgtk-time "30 SBU">
|
|
]>
|
|
|
|
<sect1 id="webkitgtk" xreflabel="WebKitGTK+-&webkitgtk-version;">
|
|
<?dbhtml filename="webkitgtk.html"?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date>$Date$</date>
|
|
</sect1info>
|
|
|
|
<title>WebKitGTK+-&webkitgtk-version;</title>
|
|
|
|
<indexterm zone="webkitgtk">
|
|
<primary sortas="a-WebKitGTK+">WebKitGTK+</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to WebKitGTK+</title>
|
|
|
|
<para>
|
|
The <application>WebKitGTK+</application> package is the port of the
|
|
portable web rendering engine <application>WebKit</application> to the
|
|
<application>GTK+</application> platform.
|
|
</para>
|
|
|
|
&lfs71_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&webkitgtk-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&webkitgtk-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &webkitgtk-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &webkitgtk-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &webkitgtk-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &webkitgtk-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Required patch:
|
|
<ulink url="&patch-root;/webkitgtk-&webkitgtk-version;-bison-1.patch"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">WebKitGTK+ Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required">
|
|
<xref linkend="geoclue"/>,
|
|
<xref linkend="gperf"/>,
|
|
<xref linkend="gst-plugins-base"/>,
|
|
<xref linkend="gtk3"/> or <xref linkend="gtk2"/>,
|
|
<xref linkend="icu"/>,
|
|
<xref linkend="libxslt"/>,
|
|
<xref linkend="libsoup"/>,
|
|
<xref linkend="sqlite"/> and
|
|
<xref linkend="which"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended">
|
|
<xref linkend="gobject-introspection"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<xref linkend="curl"/>,
|
|
<xref linkend="enchant"/>,
|
|
<xref linkend="gtk-doc"/> and
|
|
<ulink url="http://xsltml.sourceforge.net/">MathML</ulink>
|
|
</para>
|
|
|
|
<para condition="html" role="usernotes">
|
|
User Notes: <ulink url="&blfs-wiki;/webkitgtk"/>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of WebKitGTK+</title>
|
|
|
|
<para>
|
|
If you have <application>pkg-config 0.23</application> or older installed
|
|
fix a bug in the configure script that will stop it detecting
|
|
<application>Gstreamer</application> correctly:
|
|
</para>
|
|
|
|
<screen><userinput>sed -i 's#=GST#=$GST#' configure</userinput></screen>
|
|
|
|
<para>
|
|
If you have not installed <xref linkend="gtk-doc"/>, fix a bug that will
|
|
cause <command>make install</command> to fail:
|
|
</para>
|
|
|
|
<screen><userinput>sed -i '/generate-gtkdoc --rebase/s:^:# :' GNUmakefile.in</userinput></screen>
|
|
|
|
<para>
|
|
<application>WebKitGTK+</application> takes a long time to compile, so if you
|
|
have a multicore CPU it can be useful to speed up the build by running
|
|
make with multiple jobs.
|
|
</para>
|
|
|
|
<para>
|
|
If you want to run make with just one core, install
|
|
<application>WebKitGTK+</application> by running the following commands:
|
|
</para>
|
|
|
|
<screen><userinput>patch -Np1 -i ../webkitgtk-&webkitgtk-version;-bison-1.patch &&
|
|
./configure --prefix=/usr \
|
|
--libexecdir=/usr/lib/WebKit \
|
|
--enable-introspection &&
|
|
make</userinput></screen>
|
|
|
|
<para>
|
|
If you have a multicore CPU and want to run make with multiple jobs
|
|
running in parallel, install <application>WebKitGTK+</application> with the
|
|
following commands:
|
|
</para>
|
|
|
|
<screen><userinput>patch -Np1 -i ../webkitgtk-&webkitgtk-version;-bison-1.patch &&
|
|
./configure --prefix=/usr \
|
|
--libexecdir=/usr/lib/WebKit \
|
|
--enable-introspection &&
|
|
error_count=0
|
|
until make -j$(getconf _NPROCESSORS_ONLN)
|
|
do
|
|
if (( $((error_count++)) > 4 ))
|
|
then
|
|
echo Too Many Errors
|
|
break
|
|
fi
|
|
done
|
|
unset error_count</userinput></screen>
|
|
|
|
<para>
|
|
This package does not have a working testsuite.
|
|
</para>
|
|
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>make install</userinput></screen>
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para>
|
|
<option>--enable-introspection</option>: This option enables support for
|
|
<application>GObject Introspection</application> and is required for a
|
|
<application>GNOME</application> Desktop. If you don't have
|
|
<application>Gobject Introspection</application> installed and don't want
|
|
to install <application>GNOME</application> remove this option.
|
|
</para>
|
|
|
|
<para>
|
|
<command>error_count=0; until make ...</command>: Sadly
|
|
there are race conditions in the makefiles that will cause the build to
|
|
fail if you run make with multiple jobs. This simple hack works around
|
|
that problem by using <command>until</command> to keep running
|
|
<command>make</command> until it succeeds. The variable
|
|
<envar>error_count</envar> is incremented each time an error occurs and is
|
|
checked to ensure that no more than 5 errors occur. This is so that if an
|
|
error occurs that is <emphasis>not</emphasis> due to a race condition then
|
|
it will not keep repeating <command>make</command> forever.
|
|
<command>$(getconf _NPROCESSORS_ONLN)</command> prints the number of cores
|
|
your computer seems to have. If you would prefer, you can use any positive
|
|
integer such as 4.
|
|
</para>
|
|
|
|
<para>
|
|
<option>--enable-webkit2</option>: This switch enables building of
|
|
<application>WebKit2</application> libraries which some applications
|
|
like <application>DevHelp</application> can use and which will probably
|
|
be used in future releases of <application>GNOME</application> Desktop.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--with-gtk=2.0</parameter>: This option forces
|
|
<application>WebKitGTK+</application> to compile against
|
|
<application>GTK+ 2</application>, even if
|
|
<application>GTK+ 3</application> is also installed. With
|
|
<application>GTK+ 2</application>, everything
|
|
<application>WebKitGTK+</application> installs is suffixed with 1.0. When it
|
|
is compiled against <application>GTK+ 3</application> everything it
|
|
installs is suffixed with 3.0. Both versions can be installed alongside
|
|
one another with no namespace conflicts.
|
|
</para>
|
|
|
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
href="../../xincludes/gtk-doc-rebuild.xml"/>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Program</segtitle>
|
|
<segtitle>Installed Library</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>
|
|
jsc-1 or jsc-3
|
|
</seg>
|
|
<seg>
|
|
libjavascriptcoregtk-1.0.so and libwebkit-1.0.so or
|
|
libjavascriptcoregtk-3.0.so and libwebkit-3.0.so and
|
|
optionaly libwebkit2gtk-3.0.so
|
|
</seg>
|
|
<seg>
|
|
/usr/include/webkit-1.0 and /usr/share/webkit-1.0 or
|
|
/usr/include/webkit-3.0 and /usr/share/webkit-3.0 and
|
|
optionaly /usr/lib/WebKit
|
|
</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="jsc">
|
|
<term><command>jsc-1</command> or <command>jsc-3</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a command-line utility that allows you to run JavaScript programs
|
|
outside of the context of a web browser.
|
|
</para>
|
|
<indexterm zone="webkitgtk jsc">
|
|
<primary sortas="b-jsc">jsc</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libjavascriptcoregtk-1.0">
|
|
<term><filename
|
|
class="libraryfile">libjavascriptcoregtk-1.0.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains core JavaScript API functions used by <command>jsc-1</command>
|
|
and <filename class="libraryfile">libwebkitgtk-1.0.so</filename>.
|
|
</para>
|
|
<indexterm zone="webkitgtk libjavascriptcoregtk-1.0">
|
|
<primary sortas="c-libjavascriptcoregtk-1.0">libjavascriptcoregtk-1.0.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libwebkitgtk-1.0">
|
|
<term><filename class="libraryfile">libwebkitgtk-1.0.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains the <application>WebKitGTK+</application> API functions for
|
|
<application>GTK+ 2</application>.
|
|
</para>
|
|
<indexterm zone="webkitgtk libwebkitgtk-1.0">
|
|
<primary sortas="c-libwebkitgtk-1.0">libwebkitgtk-1.0.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libjavascriptcoregtk-3.0">
|
|
<term><filename
|
|
class="libraryfile">libjavascriptcoregtk-3.0.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains core JavaScript API functions used by <command>jsc-3</command>
|
|
and <filename class="libraryfile">libwebkitgtk-3.0.so</filename>.
|
|
</para>
|
|
<indexterm zone="webkitgtk libjavascriptcoregtk-3.0">
|
|
<primary sortas="c-libjavascriptcoregtk-3.0">libjavascriptcoregtk-3.0.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libwebkitgtk-3.0">
|
|
<term><filename class="libraryfile">libwebkitgtk-3.0.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains the <application>WebKitGTK+</application> API functions for
|
|
<application>GTK+ 3</application>.
|
|
</para>
|
|
<indexterm zone="webkitgtk libwebkitgtk-3.0">
|
|
<primary sortas="c-libwebkitgtk-3.0">libwebkitgtk-3.0.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libwebkit2gtk-3.0">
|
|
<term><filename class="libraryfile">libwebkit2gtk-3.0.so</filename></term>
|
|
<listitem>
|
|
<para>
|
|
contains the <application>WebKit2</application> API functions.
|
|
</para>
|
|
<indexterm zone="webkitgtk libwebkit2gtk-3.0">
|
|
<primary sortas="c-libwebkit2gtk-3.0">libwebkit2gtk-3.0.so</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|