WebKitGTK-2.41.91
      
      
        
          Introduction to WebKitGTK
        
        
          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 12.0
          platform.
        
        
          Package Information
        
        
          
            - 
              
                Download (HTTP): https://webkitgtk.org/releases/webkitgtk-2.41.91.tar.xz
               
- 
              
                Download MD5 sum: 1140f86d9044fb76be974b65f71737d7
               
- 
              
                Download size: 39 MB
               
- 
              
                Estimated disk space required: 1.2 GB (201 MB installed, add
                152 MB for GTK-4)
               
- 
              
                Estimated build time: 35 SBU (for GTK-3, using parallelism=4,
                add 34 SBU for GTK-4)
               
 
        
          WebKitGTK Dependencies
        
        
          Required
        
        
          Cairo-1.17.6, CMake-3.27.2,
          gst-plugins-base-1.22.5, gst-plugins-bad-1.22.5, GTK+-3.24.38,
          GTK-4.12.0,
          ICU-73.2, Little
          CMS-2.14, libgudev-238, libsecret-0.21.0, libsoup-3.4.2, libtasn1-4.19.0, libwebp-1.3.1,
          Mesa-23.1.6, OpenJPEG-2.5.0, Ruby-3.2.2, SQLite-3.42.0, unifdef-2.12,
          Which-2.21, and wpebackend-fdo-1.14.2
        
        
          Recommended
        
        
          bubblewrap-0.8.0, enchant-2.5.0,
          GeoClue-2.7.0, gobject-introspection-1.76.1,
          hicolor-icon-theme-0.17, libavif-0.11.1, and xdg-dbus-proxy-0.1.5
        
        
          Optional
        
        
          Gi-DocGen-2023.1, HarfBuzz-8.1.1, Wayland-1.22.0, WOFF2-1.0.2,
          ccache, Hyphen,
          libjxl, and libmanette
        
        
          Editor Notes: https://wiki.linuxfromscratch.org/blfs/wiki/webkitgtk
        
       
      
        
          Installation of WebKitGTK
        
        
          Installation of WebKitGTK
        
        
          ![[Important]](../images/important.png) 
          
            Important
          
          
            This package allows building with either GTK-3 or GTK-4, but not
            both in the same build. The GTK-4 version is needed for packages
            such as Epiphany-44.6. Other packages, such as
            Balsa-2.6.4 or Evolution-3.48.4, require the GTK-3
            version. Both versions can be installed side by side on the same
            system. We give build instructions for both cases below, but the
            only difference is the setting of -DUSE_GTK4
          
         
        
          If you want to install the GTK+-3 version of WebKitGTK, run 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_GTK4=OFF              \
      -DUSE_JPEGXL=OFF            \
      -DUSE_WPE_RENDERER=ON       \
      -DENABLE_JOURNALD_LOG=OFF   \
      -DENABLE_BUBBLEWRAP_SANDBOX=ON \
      -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
        
          If you want to install the GTK4 version of WebKitGTK, run the following commands:
        
        rm -rf * .[^.]* &&
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_GTK4=ON               \
      -DUSE_JPEGXL=OFF            \
      -DUSE_WPE_RENDERER=ON       \
      -DENABLE_JOURNALD_LOG=OFF   \
      -DENABLE_BUBBLEWRAP_SANDBOX=ON \
      -Wno-dev -G Ninja ..        &&
ninja
        
          Now, as the root user:
        
        ninja install
       
      
        
          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_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.
        
        
          -DUSE_JPEGXL=OFF: This
          switch turns off support for JPEG-XL images. Remove it if you have
          the optional package libjxl installed.
        
        
          -DENABLE_BUBBLEWRAP_SANDBOX=ON: This
          switch enables the Bubblewrap sandbox, which helps mitigate the
          impact of most security vulnerabilities in this package. Change
          this switch to OFF if you do not want to install bubblewrap-0.8.0 and xdg-dbus-proxy-0.1.5, but note that this
          may put you at risk.
        
        
          -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_AVIF=OFF: Use this switch if you
          don't want to install libavif-0.11.1. Note that you will not have
          support for AVIF images if you do this.
        
        
          -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.1.so,
              libjavascriptcoregtk-6.0.so, libwebkit2gtk-4.1.so, and
              libwebkitgtk-6.0.so
            
            
              Installed Directories:
              /usr/include/webkitgtk-4.1,
              /usr/include/webkitgtk-6.0, /usr/lib{,exec}/webkit2gtk-4.1,
              /usr/lib{,exec}/webkitgtk-6.0, and
              /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1
            
           
         
        
          
            Short Descriptions
          
          
            
              
              
            
            
              
                | 
                    WebKitWebDriver
                   | 
                    allows debugging and automation of web pages and browsers
                   | 
              
                | 
                     libjavascriptcoregtk-4.1.so | 
                    contains core JavaScript API functions used by
                    jsc and
                    libwebkit2gtk-4.1 | 
              
                | 
                    libjavascriptcoregtk-6.0.so | 
                    contains core JavaScript API functions used by
                    jsc and
                    libwebkitgtk-6.0 | 
              
                | 
                    libwebkit2gtk-4.1.so | 
                    contains the WebKit2 API
                    functions
                   | 
              
                | 
                    libwebkitgtk-6.0.so | 
                    contains the WebKit API
                    functions for GTK-4 applications
                   |