WebKitGTK-2.44.3

Introduction à WebKitGTK

Le paquet WebKitGTK est un portage du moteur de rendu web portable WebKit vers les plateformes GTK+ 3 et GTK4.

Ce paquet est connu pour pouvoir être construit et fonctionner correctement avec une plateform 12.2.

Informations sur le paquet

  • Téléchargement (HTTP) : https://webkitgtk.org/releases/webkitgtk-2.44.3.tar.xz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 46cf81df314acbf62f811bcfd99f4769

  • Taille du téléchargement : 36 Mo

  • Estimation de l'espace disque requis : 1,2 Go (159 Mo installés, plus 154 Mo pour GTK-4)

  • Estimation du temps de construction : 29 SBU (pour GTK-3, avec parallélisme = 8, plus 30 SBU pour GTK-4)

Dépendances de WebKitGTK

Requises

Cairo-1.18.0, CMake-3.30.2, gst-plugins-base-1.24.7, gst-plugins-bad-1.24.7, GTK+-3.24.43, GTK-4.14.5, ICU-75.1, Little CMS-2.16, libgudev-238, libsecret-0.21.4, libsoup-3.4.4, libtasn1-4.19.0, libwebp-1.4.0, Mesa-24.1.5, OpenJPEG-2.5.2, Ruby-3.3.4, SQLite-3.46.1, unifdef-2.12 et Which-2.21

Recommandées

Facultatives

Gi-DocGen-2024.1, harfBuzz-9.0.0, Wayland-1.23.0, WOFF2-1.0.2, ccache, Hyphen, libbacktrace et libmanette

Installation de WebKitGTK

Installation de WebKitGTK

[Important]

Important

Ce paquet permet de construire avec GTK-3 ou GTK-4, mais pas les deux dans la même construction. La version GTK-4 est requise pour les paquets comme Epiphany-46.3. D'autre paquets, comme Balsa-2.6.4 ou Evolution-3.52.4 nécessitent la version GTK-3. Les deux versions peuvent être installées en même temps sur le même système. Nous donnons les instructions pour les deux cas ci-dessous, mais la seule différence est le paramètre -D USE_GTK4

Tout d'abord, corrigez une régression qui arrive avec certains sites web qui utilisent WebAssembly :

sed '/returnLocation.isStackArgument/,/returnLocation = canonicalLocation/d'\
    -i Source/JavaScriptCore/wasm/WasmBBQJIT.cpp

Si vous voulez installer la version GTK+-3 de WebKitGTK, exécutez les commandes suivantes :

mkdir -vp build &&
cd        build &&

cmake -D CMAKE_BUILD_TYPE=Release     \
      -D CMAKE_INSTALL_PREFIX=/usr    \
      -D CMAKE_SKIP_INSTALL_RPATH=ON  \
      -D PORT=GTK                     \
      -D LIB_INSTALL_DIR=/usr/lib     \
      -D USE_LIBBACKTRACE=OFF         \
      -D USE_LIBHYPHEN=OFF            \
      -D ENABLE_GAMEPAD=OFF           \
      -D ENABLE_MINIBROWSER=ON        \
      -D ENABLE_DOCUMENTATION=OFF     \
      -D ENABLE_WEBDRIVER=OFF         \
      -D USE_WOFF2=OFF                \
      -D USE_GTK4=OFF                 \
      -D ENABLE_BUBBLEWRAP_SANDBOX=ON \
      -W no-dev -G Ninja ..           &&
ninja

Ce paquet n'a pas de suite de tests fonctionnelle. Cependant, il y a un navigateur web graphique basique utilisable dans le répertoire de construction, build/bin/MiniBrowser. Si le lancement échoue, il y a un problème avec la construction.

Maintenant, en tant qu'utilisateur root :

ninja install

Si vous voulez installer la version GTK4 de WebKitGTK, exécutez les commandes suivantes :

rm -rf * .[^.]* &&

cmake -D CMAKE_BUILD_TYPE=Release     \
      -D CMAKE_INSTALL_PREFIX=/usr    \
      -D CMAKE_SKIP_INSTALL_RPATH=ON  \
      -D PORT=GTK                     \
      -D LIB_INSTALL_DIR=/usr/lib     \
      -D USE_LIBBACKTRACE=OFF         \
      -D USE_LIBHYPHEN=OFF            \
      -D ENABLE_GAMEPAD=OFF           \
      -D ENABLE_MINIBROWSER=ON        \
      -D ENABLE_DOCUMENTATION=OFF     \
      -D USE_WOFF2=OFF                \
      -D USE_GTK4=ON                  \
      -D ENABLE_BUBBLEWRAP_SANDBOX=ON \
      -W no-dev -G Ninja ..           &&
ninja

Maintenant, en tant qu'utilisateur root :

ninja install

Comme l'option -D ENABLE_DOCUMENTATION=OFF est utilisée, la documentation n'est pas reconstruite ni installée. Si vous avez besoin de la documentation, vous pouvez installer soit Gi-DocGen-2024.1 et supprimer cette option de la commande cmake, soit installer la documentation pré-construite (seulement pour la version GTK-4) à la place :

install -vdm755 /usr/share/gtk-doc/html &&
cp -rv ../Documentation/* /usr/share/gtk-doc/html

Explication des commandes

-D CMAKE_SKIP_INSTALL_RPATH=ON : ce paramètre fait supprimer les chemins de recherche des bibliothèques (rpath) codés en dur par cmake lors de l'installation d'un fichier exécutable binaire ou d'une bibliothèque partagée. Ce paquet n'a pas besoin des rpath une fois installé à l'emplacement standard et les rpath peuvent parfois avoir des effets indésirables, voire introduire des problèmes de sécurité.

-D USE_LIBBACKTRACE=OFF : ce paramètre désactive l'utilisation de libbacktrace pour affiche une trace de pile en cas de crash. Vous devrez installer libbacktrace si vous voulez l'activer (en remplaçant OFF par ON ou simplement en supprimant le paramètre).

-D USE_LIBHYPHEN=OFF : ce paramètre désactive l'implémentation des césures automatiques par défaut. Vous devez installer Hyphen si vous souhaitez l'activer (en remplaçant OFF par ON ou en supprimant le paramètre).

-D ENABLE_DOCUMENTATION=OFF : ce paramètre désactive la régénération de la locumentation. Supprimez ce paramètre si vous avez installé Gi-DocGen-2024.1 et souhaitez régénérer la documentation.

-D ENABLE_GAMEPAD=OFF : ce paramètre désactive la prise en charge des manettes de jeu. Supprimez ce paramètre si vous avez installé libmanette et souhaitez l'activer.

-D ENABLE_MINIBROWSER=ON : ce paramètre active la compilation et l'installation de Mini Browser.

-D ENABLE_WEBDRIVER=OFF : ce paramètre désactive la compilation et l'installation de WebKitWebDriver. Nous l'utilisons pour la compilation GTK-3 car le WebKitWebDriver de la construction GTK-3 sera de toute façon remplacé par la construction GTK-4. Supprimez cette option si vous ne voulez pas construire ce paquet avec GTK-4.

-D ENABLE_BUBBLEWRAP_SANDBOX=ON : ce paramètre active le bac à sable Bubblewrap, qui aide à réduire l'impact de la plupart des vulnérabilités de sécurité dans ce paquet. Mettez ce paramètre à OFF si vous ne voulez pas installer bubblewrap-0.9.0, libseccomp-2.5.5 ou xdg-dbus-proxy-0.1.5, mais remarquez que cela peut être dangereux.

-D USE_SYSTEM_MALLOC=ON : Ce paramètre permet la construction avec la version du système de malloc.

-D ENABLE_GEOLOCATION=OFF : Utilisez ce paramètre si vous ne voulez pas installer GeoClue-2.7.1.

-D USE_AVIF=OFF : utilisez ce paramètre si vous ne voulez pas installer libavif-1.1.1. Remarquez que vous n'aurez pas la prise en charge des images AVIF si vous faites cela.

-D USE_WOFF2=ON : Utilisez ce paramètre si vous avez installé le paquet facultatif WOFF2-1.0.2. Cela ajoute la prise en charge des polices de caractères.

-D USE_JPEGXL=OFF : utilisez ce paramètre si le paquet recommandé libjxl-0.10.3 n'est pas installé. Remarquez que vous n'aurez pas la prise en charge des images JPEG XL si vous passez cette option.

Contenu

Programme installé: WebKitWebDriver
Bibliothèques installées: libjavascriptcoregtk-4.1.so, libjavascriptcoregtk-6.0.so, libwebkit2gtk-4.1.so et libwebkitgtk-6.0.so
Répertoires installés: /usr/include/webkitgtk-4.1, /usr/include/webkitgtk-6.0, /usr/lib{,exec}/webkit2gtk-4.1, /usr/lib{,exec}/webkitgtk-6.0, /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1 (facultatif) et /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-process-extension}}-6.0

Descriptions courtes

WebKitWebDriver

permet de déboguer et d'automatiser les pages web et les navigateurs

libjavascriptcoregtk-4.1.so

contient les fonctions du cœur de l'API JavaScript utilisé par jsc et libwebkit2gtk-4.1

libjavascriptcoregtk-6.0.so

contient les fonctions du cœur de l'API JavaScript utilisé par jsc et libwebkitgtk-6.0

libwebkit2gtk-4.1.so

contient les fonctions de l'API de WebKit2

libwebkitgtk-6.0.so

contient les fonctions de l'API de WebKit pour les applications GTK-4