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.