Introduksjon til WebKitGTK
WebKitGTK pakken er en overføring
av flyttbar nettgjengivelsesmotor WebKit til GTK-3 og GTK-4 plattformer.
Notat
Denne versjonen av BLFS bygger eller kjører
kanskje ikke noen pakker riktig hvis LFS eller avhengigheter har
blitt oppdatert siden den nyeste stabile versjonen av System V
bøkene.
Viktig
Denne pakken har historisk sett hatt hyppige oppdateringer som
adresserer sikkerhetssårbarheter. For å finne den siste status
sjekk BLFS Security
Advisories.
Pakkeinformasjon
-
Nedlasting (HTTP): https://webkitgtk.org/releases/webkitgtk-2.52.5.tar.xz
-
Nedlasting MD5 sum: 84bddd5381f3a518c7caac66ad98646e
-
Nedlastingsstørrelse: 66 MB
-
Estimert diskplass som kreves: 1.4 GB (193 MB installert,
legg til 191 MB for GTK-4)
-
Estimert byggetid: 23 SBU (for GTK-3; legg til 23 SBU for
GTK-4; begge bruker parallellisme=8)
WebKitGTK Avhengigheter
Påkrevd
Cairo-1.18.4, CMake-4.4.2,
gst-plugins-base-1.28.6, gst-plugins-bad-1.28.6, GTK-3.24.52,
GTK-4.22.4,
ICU-78.3, Little
CMS-2.19.1, libgudev-238, libsecret-0.21.7, libsoup-3.6.6, libtasn1-4.21.0, libwebp-1.6.0,
Mesa-26.1.7, OpenJPEG-2.5.4, Ruby-4.0.6, unifdef-2.12, og Which-2.25
Anbefalt
bubblewrap-0.11.2, enchant-2.8.19, GeoClue-2.8.2
(kjøretid), GLib-2.88.3 (med GObject Introspection),
hicolor-icon-theme-0.18, libavif-1.4.2, libjxl-0.12.0,
libseccomp-2.6.1, og xdg-dbus-proxy-0.1.8
Valgfri
Gi-DocGen-2026.1, harfBuzz-14.3.1, Wayland-1.26.0, WOFF2-1.0.2
(utdatert), ccache,
flite,
Hyphen,
libbacktrace,
libmanette,
libspiel, og
sysprof
Installasjon av WebKitGTK
Viktig
Denne pakken tillater bygging med enten GTK-3 eller GTK-4, men
ikke begge deler i samme bygg. GTK-4-versjonen er nødvendig for
pakker som f.eks Epiphany-50.5. Andre pakker, som f.eks
Balsa-2.6.5 eller Evolution-3.60.2, krever GTK-3 versjon.
Begge versjonene kan installeres side ved side på samme system.
Vi gir byggeinstruksjoner for begge tilfeller nedenfor, men den
eneste forskjellen er innstillingen av -DUSE_GTK4
Med standard «release» byggekonfigurasjon, noen
kildefiler i denne pakken krever mer enn 4 GiB RAM for å bli
bygget. Som et resultat bør du sende -j<N> til
ninja (erstatte
<N> med
kvotienten av mengden tilgjengelig RAM og 4 GiB) for å begrense
antallet parallelle jobber og unngå at jobben blir drept av
kjernens OOM killer.
På et 32-bits system kan ikke summen av RAM og vekslingsplass som
brukes av en byggejobb (faktisk en hvilken som helst
enkeltprosess) overstige 4 GiB. Så hvis du bygger denne pakken på
et 32-bits system, må du legge til -D CMAKE_CXX_FLAGS_RELEASE="-O2
-DNDEBUG" alternativet til cmake for å deaktivere noen
optimaliseringer som krever mye minne for å begrense minnebruken
til individuelle byggejobber. Ytelsen vil bli noe påvirket, men
ikke på et nivå der det er merkbart under normal bruk.
Hvis du vil installere GTK-3 versjonen av WebKitGTK, kjør følgende kommandoer:
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 \
-D USE_SYSPROF_CAPTURE=NO \
-D ENABLE_SPEECH_SYNTHESIS=OFF \
-W no-author -G Ninja .. &&
ninja
Denne pakken har ikke en fungerende testpakke. Imidlertid er det en
brukbar grunnleggende grafisk nettleser i byggemappen, build/bin/MiniBrowser. Hvis det mislykkes å
starte den, er det et problem med bygget.
Nå, som root bruker:
ninja install
Hvis du vil installere GTK-4 versjonen av WebKitGTK, kjør følgende kommandoer:
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 \
-D USE_SYSPROF_CAPTURE=NO \
-D ENABLE_SPEECH_SYNTHESIS=OFF \
-W no-author -G Ninja .. &&
ninja
Nå, som root bruker:
ninja install
Siden -D ENABLE_DOCUMENTATION=OFF
alternativet brukes, dokumentasjonen er ikke gjenoppbygd eller
installert nå. Hvis du trenger dokumentasjon, kan du enten
installere Gi-DocGen-2026.1 og fjern dette alternativet
fra cmake kommandoen,
eller installer den forhåndsbygde dokumentasjonen (kun for
GTK-4-versjonen) i stedet:
install -vdm755 /usr/share/gtk-doc/html &&
cp -rv ../Documentation/* /usr/share/gtk-doc/html
Parameterforklaringer
-D
CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at
cmake fjerner
hardkodede biblioteksøkebaner (rpath) når du installerer en binær
kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke
rpath når den først er installert i standard plassering, og rpath
kan noen ganger forårsake uønskede effekter eller til og med
sikkerhetsproblemer.
-D USE_LIBBACKTRACE=OFF:
Denne bryteren deaktiverer bruken av libbacktrace for å dumpe en
stabelsporing ved krasj skjer. Du må installere libbacktrace
hvis du ønsker å aktivere det (erstatte OFF med ON eller bare
fjerne bryteren).
-D USE_LIBHYPHEN=OFF: Denne
bryteren deaktiverer standard implementering av automatisk
orddeling. Du må installere Hyphen
hvis du ønsker å aktivere den (erstatte OFF med ON eller bare fjern
bryteren).
-D USE_WOFF2=OFF: Deaktiver
bruken av WOFF2-1.0.2 pakken. Oppstrøms foretrekker nå å
bruke FreeType-2.14.3 (bygget med sin valgfrie
avhengighet Brotli-1.2.0) for WOFF støtten i stedet.
-D
ENABLE_DOCUMENTATION=OFF: Denne bryteren deaktiverer
regenerering av dokumentasjonenen. Fjern denne bryteren hvis du har
Gi-DocGen-2026.1 installert og ønsker
å regenerere dokumentasjonen.
-D ENABLE_GAMEPAD=OFF:
Denne bryteren deaktiverer støtte for gamepad. Fjern denne bryteren
hvis du har libmanette
installert og ønsker å aktivere den.
-D ENABLE_MINIBROWSER=ON:
Denne bryteren aktiverer kompilering og installasjon av
MiniBrowser.
-D ENABLE_WEBDRIVER=OFF:
Denne bryteren deaktiverer kompilering og installasjon av
WebKitWebDriver. Vi
bruker det for GTK-3 bygget fordi WebKitWebDriver fra GTK-3-bygget
vil uansett bli overskrevet av GTK-4-bygget. Fjern dette
alternativet hvis du ikke planlegger å bygge denne pakken med
GTK-4.
-D
ENABLE_BUBBLEWRAP_SANDBOX=ON: Denne bryteren aktiverer
Bubblewrap sandkassen, som bidrar til å dempe virkningen av de
fleste sikkerhetssårbarheter i denne pakken. Endre denne bryteren
til OFF hvis du ikke vil installere bubblewrap-0.11.2, libseccomp-2.6.1, eller xdg-dbus-proxy-0.1.8, men merk at dette
kan sette deg i fare.
-D ENABLE_JOURNALD_LOG=OFF:
Denne bryteren deaktiverer bruk av systemd journal for logging av
feil og feilsøkingsinformasjon siden den ikke er tilgjengelig på
SysV systemer.
-D USE_SYSPROF_CAPTURE=NO:
Denne bryteren deaktiverer en hard avhengighet av sysprof.
-D
ENABLE_SPEECH_SYNTHESIS=OFF: Denne bryteren deaktiverer
byggestøtte for talesyntese i WebKitGTK fordi det krever
ytterligere eksterne avhengigheter. Du vil trenge både flite og libspiel hvis du
ønsker å aktivere dette.
-D USE_SYSTEM_MALLOC=ON: Denne bryteren
gjør det mulig å bygge mot systemets installerte malloc.
-D ENABLE_GEOLOCATION=OFF: Bruk denne
bryteren hvis du ikke ønsker å installere GeoClue-2.8.2.
-D USE_AVIF=OFF: Bruk denne bryteren
hvis du ikke vil installere libavif-1.4.2.
Merk at du ikke vil ha støtte for AVIF bilder hvis du gjør dette.
-D USE_JPEGXL=OFF: Bruk denne bryteren
hvis den anbefalte pakken libjxl-0.12.0
ikke er installert. Merk at du ikke vil har støtte for JPEG XL
bilder hvis dette alternativet er brukt.
Innhold
Installert Program:
WebKitWebDriver
Installerte Biblioteker:
libjavascriptcoregtk-4.1.so,
libjavascriptcoregtk-6.0.so, libwebkit2gtk-4.1.so, og
libwebkitgtk-6.0.so
Installerte Mapper:
/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
(valgfri), og
/usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-process-extension}}-6.0
Korte Beskrivelser
|
WebKitWebDriver
|
tillater feilsøking og automatisering av nettsider og
nettlesere
|
|
libjavascriptcoregtk-4.1.so
|
inneholder kjerne JavaScript API funksjoner som brukes av
jsc og
libwebkit2gtk-4.1
|
|
libjavascriptcoregtk-6.0.so
|
inneholder kjerne JavaScript API funksjoner som brukes av
jsc og
libwebkitgtk-6.0
|
|
libwebkit2gtk-4.1.so
|
inneholder WebKit2 API
funksjoner
|
|
libwebkitgtk-6.0.so
|
inneholder WebKit API
funksjoner for GTK-4 applikasjoner
|