glfs/x/lib/webkitgtk.xml

322 lines
11 KiB
XML
Raw Normal View History

<?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 "f2f01b1fdc7262a2eede81ebed0970b2">
<!ENTITY webkitgtk-size "7.6 MB">
<!ENTITY webkitgtk-buildsize "566 MB (43 MB installed)">
<!ENTITY webkitgtk-time "28 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">WebKitGTK+ Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="gperf"/>,
<xref linkend="libjpeg"/>,
<xref linkend="libpng"/>,
<xref linkend="icu"/>,
<xref linkend="libxslt"/>,
<xref linkend="gtk2"/> or <xref linkend="gtk3"/>
(<command>configure</command> defaults to using gtk+-3),
<xref linkend="libsoup"/>,
<xref linkend="gst-plugins-base"/>,
<xref linkend="geoclue"/>,
<xref linkend="which"/> and
<xref linkend="sqlite"/>.
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="curl"/>,
<xref linkend="enchant"/>,
<xref linkend="gobject-introspection"/> (required if building
<application>epiphany</application>),
<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>
<!-- https://bugs.webkit.org/show_bug.cgi?id=82580 -->
<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>WebKit</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>WebKit</application> by running the following commands:
</para>
<screen><userinput>./configure --prefix=/usr --enable-introspection &amp;&amp;
make</userinput></screen>
<para>
If you have a multicore CPU and want to run make with multiple jobs
running in parallel, install <application>WebKit</application> with the
following commands:
</para>
<screen><userinput>./configure --prefix=/usr --enable-introspection &amp;&amp;
error_count=0
until make -j$(getconf _NPROCESSORS_ONLN)
do
if (( $((error_count++)) &gt; 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>
To test the results, issue: <command>make check</command> (you must be in
an xterm or similar to do this, because it launches some windows).
Requires <xref linkend="pygobject2"/>.
</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>--with-gtk=2.0</option>: This option forces
<application>Webkit</application> to compile against
<application>Gtk+-2</application>, even if
<application>Gtk+-3</application> is also installed. With
<application>Gtk+-2</application>, everything
<application>Webkit</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 (depending on whether you installed the
<application>Gtk+-2</application> or <application>Gtk+-3</application>
version of <application>WebKit</application>).
</seg>
<seg>
libwebkit-1.0.so and libjavascriptcoregtk-1.0.so or libwebkit-3.0.so
and libjavascriptcoregtk-3.0.so (depending on whether you installed
the <application>Gtk+-2</application> or
<application>Gtk+-3</application> version of
<application>WebKit</application>).
</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 (depending on
whether you installed the <application>Gtk+-2</application> or
<application>Gtk+-3</application> version of
<application>WebKit</application>).
</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="libwebkit-1.0">
<term><filename class="libraryfile">libwebkit-1.0.so</filename></term>
<listitem>
<para>
contains the <application>WebKit</application> API functions for
<application>gtk+-2</application>.
</para>
<indexterm zone="webkitgtk libwebkit-1.0">
<primary sortas="c-libwebkit-1.0">libwebkit-1.0.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libwebkit-3.0">
<term><filename class="libraryfile">libwebkit-3.0.so</filename></term>
<listitem>
<para>
contains the <application>WebKit</application> API functions for
<application>gtk+-3</application>.
</para>
<indexterm zone="webkitgtk libwebkit-3.0">
<primary sortas="c-libwebkit-3.0">libwebkit-3.0.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libjavascriptcoregtk-1.0">
<term><filename
class="libraryfile">libjavascriptcoregtk-1.0.so</filename></term>
<listitem>
<para>
contains functions that are used by <command>jsc-1</command>.
</para>
<indexterm zone="webkitgtk libjavascriptcoregtk-1.0">
<primary sortas="c-libjavascriptcoregtk-1.0">libjavascriptcoregtk-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 functions that are used by <command>jsc-3</command>.
</para>
<indexterm zone="webkitgtk libjavascriptcoregtk-3.0">
<primary sortas="c-libjavascriptcoregtk-3.0">libjavascriptcoregtk-3.0.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>