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_JOURNALD_LOG=OFF \ -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.
-DENABLE_JOURNALD_LOG=OFF
: This switch disables using the
systemd journal for logging errors and debugging information since it
is not available on SysV systems.
-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.