The WebKitGTK package is a port of the portable web rendering engine WebKit to the GTK+ 3 and GTK 4 platforms.
This package is known to build and work properly using an LFS 11.3 platform.
Download (HTTP): https://webkitgtk.org/releases/webkitgtk-2.38.5.tar.xz
Download MD5 sum: de05d314a3ecb5fb3835e4d84f8f466d
Download size: 31 MB
Estimated disk space required: 1.1 GB (174 MB installed)
Estimated build time: 34 SBU (using parallelism=4)
Cairo-1.17.6, CMake-3.25.2, gst-plugins-base-1.22.0, gst-plugins-bad-1.22.0, GTK+-3.24.36, ICU-72.1, Little CMS-2.14, libgudev-237, libsecret-0.20.5, libsoup-3.2.2, libtasn1-4.19.0, libwebp-1.3.0, Mesa-22.3.5, OpenJPEG-2.5.0, Ruby-3.2.1, SQLite-3.40.1, Which-2.21, and wpebackend-fdo-1.14.0
enchant-2.3.3, GeoClue-2.7.0, gobject-introspection-1.74.0, and hicolor-icon-theme-0.17
bubblewrap-0.7.0, Gi-DocGen-2023.1, GTK-4.8.3, HarfBuzz-7.0.0, Wayland-1.21.0, WOFF2-1.0.2, ccache, Hyphen, libavif, libmanette, and xdg-dbus-proxy
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/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 \ -DENABLE_DOCUMENTATION=OFF \ -DUSE_WOFF2=OFF \ -DUSE_WPE_RENDERER=ON \ -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ -Wno-dev -G Ninja .. && ninja
This package does not have a working test suite. 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
As the -DENABLE_DOCUMENTATION=OFF
option is used, the documentation is not rebuilt nor installed now.
If you need the documentation, you can either install Gi-DocGen-2023.1 and remove this option from
the cmake command, or
install the pre-built documentation instead:
install -vdm755 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1 && install -vm644 ../Documentation/jsc-glib-4.1/* \ /usr/share/gtk-doc/html/jsc-glib-4.1 && install -vm644 ../Documentation/webkit2gtk-4.1/* \ /usr/share/gtk-doc/html/webkit2gtk-4.1 && install -vm644 ../Documentation/webkit2gtk-web-extension-4.1/* \ /usr/share/gtk-doc/html/webkit2gtk-web-extension-4.1
-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_DOCUMENTATION=OFF
:
This switch disables regenerating the documentation. Remove this
switch if you have Gi-DocGen-2023.1 installed and wish to
regenerate the documentation.
-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.7.0 and xdg-dbus-proxy are
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.7.0.
-DUSE_WOFF2=ON
: Use this switch if the
optional package WOFF2-1.0.2 is installed. This adds
additional support for fonts.