#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 25. Graphical Environment Libraries

- Prev

  Tepl-6.00.0

- Next

  Display Managers

- Up
- Home

# WebKitGTK-2.34.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-11.1 platform.

### Package Information

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

- Download MD5 sum: a5eeedd02f5b4bba8bd891b92dc743d4

- Download size: 23 MB

- Estimated disk space required: 933 MB (130 MB installed)

- Estimated build time: 37 SBU (using parallelism=4, estimated 107 SBU using one core)

### WebKitGTK Dependencies

#### Required

Cairo-1.17.4, CMake-3.22.2, gst-plugins-base-1.20.0, gst-plugins-bad-1.20.0, GTK+-3.24.31, ICU-70.1, Little CMS-2.13.1, libgudev-237, libsecret-0.20.5, libsoup-2.74.2, libtasn1-4.18.0, libwebp-1.2.2, Mesa-21.3.6, OpenJPEG-2.4.0, Ruby-3.1.0, SQLite-3.37.2, Which-2.21, and wpebackend-fdo-1.12.0

#### Recommended

enchant-2.3.2, GeoClue-2.6.0, gobject-introspection-1.70.0, hicolor-icon-theme-0.17, and libnotify-0.7.9

#### Optional

bubblewrap-0.5.0, GTK-Doc-1.33.2, GTK-4.6.1, HarfBuzz-3.4.0, Wayland-1.20.0, WOFF2-1.0.2, ccache, Hyphen, libavif, libmanette, and xdg-dbus-proxy

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

## Installation of WebKitGTK

Install WebKitGTK by running the following commands:

    mkdir -vp build &&
    cd        build &&

    cmake -DCMAKE_BUILD_TYPE=Release  \
          -DCMAKE_INSTALL_PREFIX=/usr \
          -DCMAKE_SKIP_RPATH=ON       \
          -DPORT=GTK                  \
          -DLIB_INSTALL_DIR=/usr/lib  \
          -DUSE_LIBHYPHEN=OFF         \
          -DENABLE_GAMEPAD=OFF        \
          -DENABLE_MINIBROWSER=ON     \
          -DUSE_WOFF2=OFF             \
          -DUSE_SOUP2=ON              \
          -DUSE_WPE_RENDERER=ON       \
          -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
          -Wno-dev -G Ninja ..        &&
    ninja

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

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 the 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_GAMEPAD=OFF`: This switch disables gamepad support. Remove this switch if you have libmanette installed and wish to enable it.

`-DENABLE_MINIBROWSER=ON`: This switch enables compiling and installing the MiniBrowser.

`-DUSE_WPE_RENDERER=ON`: This switch uses the WPE renderer, which is recommended by upstream.

`-DENABLE_BUBBLEWRAP_SANDBOX=OFF`: Remove this switch if the optional packages bubblewrap-0.5.0 and xdg-dbus-proxy are installed.

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

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

`-DUSE_WOFF2=ON`: Use this switch if the optional package WOFF2-1.0.2 is installed. This adds additional support for fonts.

## Contents

Installed Program: 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

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

- Prev

  Tepl-6.00.0

- Next

  Display Managers

- Up
- Home