WebKitGTK-2.44.3

Introdução ao WebKitGTK

O pacote "WebKitGTK" é uma porta do mecanismo de renderização "web" portável "WebKit" para as plataformas "GTK+ 3" e "GTK 4".

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.2.

Informação do Pacote

  • Transferência (HTTP): https://webkitgtk.org/releases/webkitgtk-2.44.3.tar.xz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: 46cf81df314acbf62f811bcfd99f4769

  • Tamanho da transferência: 36 MB

  • Espaço em disco estimado exigido: 1,2 GB (159 MB instalado; adicionar 154 MB para GTK-4)

  • Tempo de construção estimado: 29 UPC (para GTK-3, usando paralelismo = 8; adicionar 30 UPC para GTK-4)

Dependências do "WebKitGTK"

Exigidas

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 e Which-2.21

Recomendadas

Opcionais

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

Instalação do WebKitGTK

Instalação do WebKitGTK

[Importante]

Importante

Esse pacote permite construir com GTK-3 ou GTK-4, mas não ambos na mesma construção. A versão GTK-4 é necessária para pacotes como Epiphany-46.3. Outros pacotes, como Balsa-2.6.4 ou Evolution-3.52.4, requerem a versão GTK-3. Ambas as versões podem ser instaladas lado a lado no mesmo sistema. Nós fornecemos instruções de construção para ambos os casos abaixo, mas a única diferença é a configuração de -D USE_GTK4

Primeiro, corrija uma regressão que ocorre com alguns sítios da web que usam WebAssembly:

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

Se você quiser instalar a versão GTK+-3 do WebKitGTK, execute os seguintes comandos:

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_JOURNALD_LOG=OFF      \
      -D ENABLE_BUBBLEWRAP_SANDBOX=ON \
      -W no-dev -G Ninja ..           &&
ninja

Esse pacote não tem uma suíte funcional de teste. No entanto, existe um navegador gráfico básico usável no diretório da construção, "build/bin/MiniBrowser". Se a inicialização dele falhar, [então] existe um problema com a construção.

Agora, como o(a) usuário(a) "root":

ninja install

Se você quiser instalar a versão GTK4 do WebKitGTK, execute os seguintes comandos:

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_JOURNALD_LOG=OFF      \
      -D ENABLE_BUBBLEWRAP_SANDBOX=ON \
      -W no-dev -G Ninja ..           &&
ninja

Agora, como o(a) usuário(a) "root":

ninja install

Como a opção -D ENABLE_DOCUMENTATION=OFF é usada, a documentação não é reconstruída nem instalada agora. Se precisar da documentação, você pode, ou instalar o Gi-DocGen-2024.1 e remover essa opção do comando cmake, ou instalar a documentação pré construída (somente para a versão GTK-4):

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

Explicações do Comando

-D CMAKE_SKIP_INSTALL_RPATH=ON: Essa chave faz com que cmake remova caminhos de pesquisa de biblioteca rigidamente codificados (rpath) ao instalar um arquivo binário executável ou uma biblioteca compartilhada. Esse pacote não precisa do rpath depois de instalado no local padrão, e o rpath ocasionalmente pode causar efeitos indesejados ou até mesmo problemas de segurança.

-D USE_LIBBACKTRACE=OFF: Essa chave desabilita o uso de libbacktrace para despejar um rastreamento de pilha quando uma falha acontece. Você precisa instalar o libbacktrace se desejar habilitá-la (substituindo OFF por ON ou apenas removendo a chave).

-D USE_LIBHYPHEN=OFF: Essa chave desabilita a implementação padrão de hifenização automática. Você precisa instalar o Hyphen se desejar habilitá-la (substituindo OFF por ON ou apenas removendo a chave).

-D ENABLE_DOCUMENTATION=OFF: Essa chave desabilita a regeneração da documentação. Remova essa chave se você tiver Gi-DocGen-2024.1 instalado e desejar gerar novamente a documentação.

-D ENABLE_GAMEPAD=OFF: Essa chave desabilita suporte ao gamepad. Remova essa chave se você tiver libmanette instalado e desejar habilitá-lo.

-D ENABLE_MINIBROWSER=ON: Essa chave habilita compilar e instalar o MiniBrowser.

-D ENABLE_WEBDRIVER=OFF: Essa chave desabilita compilar e instalar WebKitWebDriver. Nós a usamos para a construção do GTK-3 porque o WebKitWebDriver proveniente da construção do GTK-3 será sobrescrito pela construção do GTK-4 de qualquer maneira. Remova essa opção se você não planeja construir esse pacote com GTK-4.

-D ENABLE_BUBBLEWRAP_SANDBOX=ON: Essa chave habilita o sandbox Bubblewrap, que ajuda a mitigar o impacto da maioria das vulnerabilidades de segurança nesse pacote. Mude essa chave para OFF se você não quiser instalar bubblewrap-0.9.0, libseccomp-2.5.5 ou xdg-dbus-proxy-0.1.5, mas observe que isso possivelmente te coloque em risco.

-D ENABLE_JOURNALD_LOG=OFF: Essa chave desabilita usar o diário do systemd para registrar erros e informações de depuração, uma vez que ele não está disponível em sistemas SysV.

-D USE_SYSTEM_MALLOC=ON: Essa chave habilita construir contra o malloc instalado no sistema.

-D ENABLE_GEOLOCATION=OFF: Use essa chave se você não quiser instalar o GeoClue-2.7.1.

-D USE_AVIF=OFF: Use essa chave se você não quiser instalar libavif-1.1.1. Observe que você não terá suporte para imagens AVIF se fizer isso.

-D USE_WOFF2=ON: Use essa chave se o pacote opcional WOFF2-1.0.2 estiver instalado. Isso adiciona suporte adicional para fontes.

-D USE_JPEGXL=OFF: Use essa chave se o pacote recomendado libjxl-0.10.3 não estiver instalado. Observe que você não terá suporte para imagens JPEG XL se essa opção for passada.

Conteúdo

Aplicativo Instalado: WebKitWebDriver
Bibliotecas Instaladas: libjavascriptcoregtk-4.1.so, libjavascriptcoregtk-6.0.so, libwebkit2gtk-4.1.so e libwebkitgtk-6.0.so
Diretórios Instalados: /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 (opcional) e /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-process-extension}}-6.0

Descrições Curtas

WebKitWebDriver

permite depuração e automação de páginas e navegadores da "web"

libjavascriptcoregtk-4.1.so

contém funções centrais da "API" do "JavaScript" usadas por "jsc" e "libwebkit2gtk-4.1"

libjavascriptcoregtk-6.0.so

contém funções centrais da API JavaScript usadas por jsc e libwebkitgtk-6.0

libwebkit2gtk-4.1.so

contém as funções da "API" do "WebKit2"

libwebkitgtk-6.0.so

contém as funções de API do WebKit para aplicativos GTK-4