<?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/webkitgtk-&webkitgtk-version;.tar.xz">
  <!ENTITY webkitgtk-download-ftp  " ">
  <!ENTITY webkitgtk-md5sum        "7b1a652af1eb11bee5bf7209e9ff67e6">
  <!ENTITY webkitgtk-size          "8.3 MB">
  <!ENTITY webkitgtk-buildsize     "650 MB">
  <!ENTITY webkitgtk-time          "55 SBU">
]>

<sect1 id="webkitgtk" xreflabel="WebKitGTK+-&webkitgtk-version;">
  <?dbhtml filename="webkitgtk.html"?>

  <sect1info>
    <othername>$LastChangedBy: fernando $</othername>
    <date>$Date: 2014-08-28 11:53:10 -0400 (Thu, 28 Aug 2014) $</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> is the port of the portable
      web rendering engine <application>WebKit</application> to the
      <application>GTK+ 2</application> platform.
    </para>

    &lfs75_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;-fix_librt_linking-1.patch"/>
        </para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">WebKitGTK+ Dependencies</bridgehead>

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required">
      <xref linkend="gst-plugins-base"/>,
      <xref linkend="gtk2"/>,
      <xref linkend="icu"/>,
      <xref linkend="libsoup"/>,
      <xref linkend="mesalib"/>,
      <xref linkend="ruby"/>,
      <xref linkend="sqlite"/> and
      <xref linkend="which"/>
    </para>

    <bridgehead renderas="sect4">Recommended</bridgehead>
    <para role="recommended">
      <xref linkend="enchant"/>,
      <xref linkend="geoclue"/> and
      <xref linkend="hicolor-icon-theme"/>
    </para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional">
      <xref linkend="curl"/>,
      <xref linkend="gobject-introspection"/>,
      <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 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>
      Install <application>WebKitGTK+</application> by running the
      following commands:
    </para>

<screen><userinput>sed -i '/parse-param/ a%lex-param {YYLEX_PARAM}' \
             Source/ThirdParty/ANGLE/src/compiler/glslang.y &amp;&amp;
patch -Np1 -i ../webkitgtk-&webkitgtk-version;-fix_librt_linking-1.patch &amp;&amp;
./configure --prefix=/usr --with-gtk=2.0 --disable-webkit2  &amp;&amp;
make</userinput></screen>

    <para>
      This package does not have a working testsuite. However, there is a
      useable basic graphical web browser in the source directory,
      <application>Programs/GtkLauncher</application>. If it fails, there is a
      problem with the build.
    </para>

    <para>
      Now, as the <systemitem class="username">root</systemitem> user:
    </para>

<screen role="root"><userinput>make install                                    &amp;&amp;
rm -rf /usr/share/gtk-doc/html/webkitgtk-1.0    &amp;&amp;
mv -vi /usr/share/gtk-doc/html/webkitgtk{,-1.0}</userinput></screen>
  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <para>
      <command>mv -vi /usr/share/gtk-doc/html/webkitgtk{,-1.0}</command>:
      There is a conflict with the directory installed with same name by
      <xref linkend="webkitgtk2"/>.
    </para>

    <para>
      <command>sed ... Source/ThirdParty/ANGLE/src/compiler/glslang.y</command>:
      This command corrects a problem caused by the most recent version of
      Bison.
    </para>

    <para>
      <parameter>--with-gtk=2.0 --disable-webkit2</parameter>: These parameters
      force <application>WebKitGTK+</application> to compile against
      <application>GTK+ 2</application>, even if
      <application>GTK+ 3</application> is also installed.
    </para>

    <para>
      <option>--disable-geolocation</option>: Use this option if you did not
      install <xref linkend="geoclue"/> or <command>configure</command> will
      fail.
    </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 Libraries</segtitle>
      <segtitle>Installed Directories</segtitle>

      <seglistitem>
        <seg>
          jsc-1
        </seg>
        <seg>
          libjavascriptcoregtk-1.0.so and libwebkitgtk-1.0.so
        </seg>
        <seg>
          /usr/include/webkit-1.0,
          /usr/share/gtk-doc/html/webkitgtk-1.0 and
          /usr/share/webkit-1.0
        </seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="jsc-1">
        <term><command>jsc-1</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-1">
            <primary sortas="b-jsc-1">jsc-1</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libjavascriptcoregtk-1">
        <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">
            <primary sortas="c-libjavascriptcoregtk-1">libjavascriptcoregtk-1.0.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libwebkitgtk-1">
        <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">
            <primary sortas="c-libwebkitgtk-1">libwebkitgtk-1.0.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
