WebKitGTK+-2.22.6

#### Beyond Linux® From Scratch - Version 2019-02-27

### Chapter 25. X Libraries

- Prev

  startup-notification-0.12

- Next

  Display Managers

- Up
- Home

# WebKitGTK+-2.22.6

## 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.4 platform.

### Package Information

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

- Download MD5 sum: 7c21a30f7f078f0b712caf0c7ee966a4

- Download size: 16 MB

- Estimated disk space required: 789 MB (128 MB installed)

- Estimated build time: 25 SBU (using parallelism=4, 65 SBUs using one core)

### WebKitGTK+ Dependencies

#### Required

Cairo-1.16.0, CMake-3.13.4, gst-plugins-base-1.14.4, gst-plugins-bad-1.14.4, GTK+-2.24.32, GTK+-3.24.5, ICU-63.1, libgudev-232, libsecret-0.18.7, libsoup-2.64.2, libwebp-1.0.2, Mesa-18.3.3, Ruby-2.6.1, SQLite-3.27.1, and Which-2.21

#### Recommended

enchant-2.2.3, GeoClue-2.5.2, gobject-introspection-1.58.3, hicolor-icon-theme-0.17, and libnotify-0.7.7

#### Optional

GTK-Doc-1.29, HarfBuzz-2.3.1, LLVM-7.0.1, Wayland-1.16.0, Hyphen, MathML, and woff2

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

## Installation of WebKitGTK+

Install WebKitGTK+ by running the following commands:

    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     \
          -DUSE_WOFF2=OFF             \
          -Wno-dev -G Ninja .. &&
    ninja

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

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:

    ninja 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

`-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.5.2.

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

`-DUSE_WOFF2=ON`: Use this switch if the optional package woff2 is inatalled.

## 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 2019-02-19 14:13:13 -0600

- Prev

  startup-notification-0.12

- Next

  Display Managers

- Up
- Home