Introduksjon til WebKitGTK
WebKitGTK pakken er en overføring
av flyttbar nettgjengivelsesmotor WebKit til GTK+
3 og GTK 4 plattformer.
Notat
Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre
noen pakker riktig hvis LFS eller avhengigheter har blitt
oppdatert siden de siste stabile versjonene av 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.48.5.tar.xz
-
Nedlasting MD5 sum: 23e26bc4e30b80462cb1030fab352409
-
Nedlastingsstørrelse: 42 MB
-
Estimert diskplass som kreves: 1.5 GB (186 MB installert,
legg til 181 MB for GTK-4)
-
Estimert byggetid: 21 SBU (for GTK-3, bruk parallellisme=8,
legg til 21 SBU for GTK-4)
WebKitGTK Avhengigheter
Påkrevd
Cairo-1.18.4, CMake-4.1.0,
gst-plugins-base-1.26.5, gst-plugins-bad-1.26.5, GTK-3.24.50,
GTK-4.18.6,
ICU-77.1, Little
CMS-2.17, libgudev-238, libsecret-0.21.7, libsoup-3.6.5, libtasn1-4.20.0, libwebp-1.6.0,
Mesa-25.1.8, OpenJPEG-2.5.3, Ruby-3.4.5, SQLite-3.50.4, unifdef-2.12, og
Which-2.23
Anbefalt
bubblewrap-0.11.0, enchant-2.8.12, GeoClue-2.7.2
(kjøretid), GLib-2.84.4 (med GObject Introspection),
hicolor-icon-theme-0.18, libavif-1.3.0, libjxl-0.11.1,
libseccomp-2.6.0, og xdg-dbus-proxy-0.1.6
Valgfri
Gi-DocGen-2025.4, harfBuzz-11.4.1, Wayland-1.24.0, WOFF2-1.0.2,
ccache, flite, Hyphen,
libbacktrace,
libmanette,
libspiel, og
sysprof
Installasjon av WebKitGTK
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-48.5. Andre pakker, som f.eks
Balsa-2.6.5 eller Evolution-3.56.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-dev -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 GTK4 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-dev -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-2025.4 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
ENABLE_DOCUMENTATION=OFF
: Denne bryteren deaktiverer
regenerering av dokumentasjonenen. Fjern denne bryteren hvis du har
Gi-DocGen-2025.4 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.0, libseccomp-2.6.0, eller xdg-dbus-proxy-0.1.6, 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.7.2.
-D USE_AVIF=OFF
: Bruk denne bryteren
hvis du ikke vil installere libavif-1.3.0.
Merk at du ikke vil ha støtte for AVIF bilder hvis du gjør dette.
-D USE_WOFF2=ON
: Bruk denne bryteren
hvis den valgfrie pakken WOFF2-1.0.2 er
installert. Dette legger til ekstra støtte for fonter.
-D USE_JPEGXL=OFF
: Bruk denne bryteren
hvis den anbefalte pakken libjxl-0.11.1
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
|