WebKitGTK+-2.18.0

Introduction to WebKitGTK+

The WebKitGTK+ package is a port of the portable web rendering engine WebKit to the GTK+ 3 and GTK+ 2 platforms.

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

Package Information

  • Download (HTTP): https://webkitgtk.org/releases/webkitgtk-2.18.0.tar.xz

  • Download MD5 sum: 10d86dd5a5b68875654cc38af139f382

  • Download size: 14 MB

  • Estimated disk space required: 1.2 GB (119 MB installed)

  • Estimated build time: 40 SBU (using parallelism=4, extimated 132 SBUs using one core)

WebKitGTK+ Dependencies

Required

Cairo-1.14.10, CMake-3.9.4, enchant-2.1.2, gst-plugins-base-1.12.3, gst-plugins-bad-1.12.3, GTK+-2.24.31, GTK+-3.22.24, ICU-59.1, libgudev-231, libsecret-0.18.5, libsoup-2.60.1, libwebp-0.6.0, Mesa-17.2.3, Ruby-2.4.2, SQLite-3.20.1 and Which-2.21

Recommended

Optional

GTK-Doc-1.26, HarfBuzz-1.6.0, LLVM-5.0.0, Wayland-1.14.0, Hyphen, and MathML

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

Installation of WebKitGTK+

Installation of WebKitGTK+

[Caution]

Caution

You must rebuild Perl with -Dusethreads if LFS was built without that option. LFS made this change in April 2017.

First, fix a build issue with an invalid header path.

sed -i '/Activity.h/s:WebCore/:&platform/:' Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.h

Install WebKitGTK+ by running the following commands:

sed -e 's#enchant_dict_free_suggestions#enchant_dict_free_string_list#g' \
    -i Source/WebCore/platform/text/enchant/TextCheckerEnchant.cpp       &&

mkdir -vp build &&
cd        build &&

CFLAGS=-Wno-expansion-to-defined  \
CXXFLAGS=-Wno-expansion-to-defined \
cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_SKIP_RPATH=ON       \
      -DPORT=GTK                  \
      -DLIB_INSTALL_DIR=/usr/lib  \
      -DUSE_LIBHYPHEN=OFF         \
      -DENABLE_MINIBROWSER=ON     \
      -Wno-dev .. &&
make

This package does not have a working testsuite. However, there is a useable basic graphical web browser in the build directory, build/bin/MiniBrowser. If launching it fails, there is a problem with the build.

[Note]

Note

When installing, the Makefile does some additional compiling and linking. If you do not have Xorg in /usr, the LIBRARY_PATH and PKG_CONFIG_PATH variables need to be defined for the root user. If using sudo to assume root, use the -E option to pass your current environment variables for the install process.

Now, as the root user:

make install &&

install -vdm755 /usr/share/gtk-doc/html/webkit{2,dom}gtk-4.0 &&
install -vm644  ../Documentation/webkit2gtk-4.0/html/*   \
                /usr/share/gtk-doc/html/webkit2gtk-4.0       &&
install -vm644  ../Documentation/webkitdomgtk-4.0/html/* \
                /usr/share/gtk-doc/html/webkitdomgtk-4.0

Command Explanations

sed ... TextCheckerEnchant.cpp: This command is needed to allow the build to complete with enchant-2.x.

-DUSE_LIBHYPHEN=OFF: This switch disables default automatic hyphenation implementation. You need to install Hyphen, if you wish to enable it (replacing OFF with ON or just removing the switch).

-DENABLE_MINIBROWSER=ON: This switch enables the Mini Browser compilation and install.

-DUSE_LIBNOTIFY=OFF: Use this switch if you do not have libnotify installed.

-DUSE_SYSTEM_MALLOC=ON: This switch enables building against the system installed malloc.

-DENABLE_GEOLOCATION=OFF: Use this switch if you don't want to install GeoClue-2.4.7.

-DENABLE_GTKDOC=ON: Use this switch if GTK-Doc-1.26 is installed and you wish to rebuild and install the API documentation.

Contents

Installed Program: jsc, MiniBrowser, and WebKitWebDriver
Installed Libraries: libjavascriptcoregtk-4.0.so and libwebkit2gtk-4.0.so
Installed Directories: /usr/include/webkitgtk-4.0, /usr/lib{,exec}/webkit2gtk-4.0 and /usr/share/gtk-doc/html/webkit{2,dom}gtk-4.0

Short Descriptions

jsc

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

MiniBrowser

is a very simple graphical browser.

WebKitWebDriver

allows debugging and automation of web pages and browsers.

libjavascriptcoregtk-4.0.so

contains core JavaScript API functions used by jsc and libwebkit2gtk-4.0.

libwebkit2gtk-4.0.so

contains the WebKit2 API functions.

Last updated on 2017-10-04 14:31:13 -0500