WebKitGTK+-1.8.1

Introduction to WebKitGTK+

The WebKitGTK+ package is the port of the portable web rendering engine WebKit to the GTK+ platform.

This package is known to build and work properly using an LFS-7.1 platform.

Package Information

WebKitGTK+ Dependencies

Required

Gperf-3.0.4, ICU-49.1.1, libxslt-1.1.26, gtk+-2.24.10 or Gtk+-3.4.3 (configure defaults to using gtk+-3), libsoup-2.38.1, gst-plugins-base-0.10.36, GeoClue-0.12.0, which-2.20 and SQLite-3.7.11.

Optional (Required if building GNOME)

gobject-introspection-1.32.1

Optional

cURL-7.25.0, enchant-1.6.0, GTK-Doc-1.18 and MathML.

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/webkitgtk

Installation of WebKitGTK+

If you have pkg-config 0.23 or older installed fix a bug in the configure script that will stop it detecting Gstreamer correctly:

sed -i 's#=GST#=$GST#' configure

If you have not installed GTK-Doc-1.18, fix a bug that will cause make install to fail:

sed -i '/generate-gtkdoc --rebase/s:^:# :' GNUmakefile.in

WebKit 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.

If you want to run make with just one core, install WebKit by running the following commands:

./configure --prefix=/usr --enable-introspection &&
make

If you have a multicore CPU and want to run make with multiple jobs running in parallel, install WebKit with the following commands:

./configure --prefix=/usr --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

This package does not have a working testsuite.

Now, as the root user:

make install

Command Explanations

--enable-introspection: This option enables support for Gobject-Introspection and is required for a GNOME desktop. If you don't have Gobject-Introspection installed and don't want to install GNOME remove this option.

error_count=0; until make ...: 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 until to keep running make until it succeeds. The variable error_count 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 not due to a race condition then it will not keep repeating make forever. $(getconf _NPROCESSORS_ONLN) prints the number of cores your computer seems to have. If you would prefer, you can use any positive integer such as 4.

--with-gtk=2.0: This option forces Webkit to compile against Gtk+-2, even if Gtk+-3 is also installed. With Gtk+-2, everything Webkit installs is suffixed with 1.0. When it is compiled against Gtk+-3 everything it installs is suffixed with 3.0. Both versions can be installed alongside one another with no namespace conflicts.

--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.

Contents

Installed Program: jsc-1 or jsc-3 (depending on whether you installed the Gtk+-2 or Gtk+-3 version of WebKit).
Installed Library: 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 Gtk+-2 or Gtk+-3 version of WebKit).
Installed Directories: /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 Gtk+-2 or Gtk+-3 version of WebKit).

Short Descriptions

jsc-1 or jsc-3

is a command-line utility that allows you to run JavaScript programs outside of the context of a web browser.

libwebkit-1.0.so

contains the WebKit API functions for gtk+-2.

libwebkit-3.0.so

contains the WebKit API functions for gtk+-3.

libjavascriptcoregtk-1.0.so

contains functions that are used by jsc-1.

libjavascriptcoregtk-3.0.so

contains functions that are used by jsc-3.

Last updated on 2012-05-01 12:35:38 +0000