# Contributor: Rasmus Thomsen # Contributor: Sergei Lukin # Contributor: Jiri Horner # Maintainer: knuxify pkgname=webkit2gtk-4.1 pkgver=2.38.6 pkgrel=0 pkgdesc="Portable web rendering engine WebKit for GTK+ - GTK+3 libsoup3 version" url="https://webkitgtk.org/" arch="all" license="LGPL-2.0-or-later AND BSD-2-Clause" depends="bubblewrap xdg-dbus-proxy dbus:org.freedesktop.Secrets" makedepends=" bison clang cmake enchant2-dev flex geoclue-dev gnutls-dev gobject-introspection-dev gperf gst-plugins-bad-dev gst-plugins-base-dev gstreamer-dev gtk+3.0-dev hyphen-dev icu-dev lcms2-dev libgcrypt-dev libjpeg-turbo-dev libmanette-dev libpng-dev libseccomp-dev libsecret-dev libsoup3-dev libwebp-dev libwpe-dev libwpebackend-fdo-dev libxml2-dev libxslt-dev libxt-dev llvm mesa-dev openjpeg-dev pango-dev python3 ruby samurai sqlite-dev woff2-dev " replaces="webkit" options="!check" # upstream doesn't package them in release tarballs: Tools/Scripts/run-gtk-tests: Command not found subpackages="$pkgname-dbg $pkgname-lang $pkgname-dev" source="https://webkitgtk.org/releases/webkitgtk-$pkgver.tar.xz" builddir="$srcdir/webkitgtk-$pkgver" case "$CARCH" in s390x) ;; *) makedepends="$makedepends lld" ;; esac build() { case "$CARCH" in armv7) # clang fails to build armv7 only due to some NEON related thing. # https://github.com/WebKit/WebKit/pull/1233 should fix it ;; s390x) export CC=clang export CXX=clang++ ;; *) # the debug symbols become 1/2 the size, and actual webkit becomes # smaller too. export CC=clang export CXX=clang++ export LDFLAGS="$LDFLAGS -fuse-ld=lld" ;; esac case "$CARCH" in arm*|aarch64|s390x|riscv64) # arm: seemingly broken? # s390x/riscv64: no lld ;; *) local lto="-DLTO_MODE=thin" ;; esac export AR=llvm-ar export NM=llvm-nm export RANLIB=llvm-ranlib # significantly reduce debug symbol size export CFLAGS="$CFLAGS -g1" export CXXFLAGS="$CXXFLAGS -g1" cmake -B build -G Ninja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=ON \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -DENABLE_DOCUMENTATION=OFF \ -DENABLE_JOURNALD_LOG=OFF \ -DENABLE_MINIBROWSER=ON \ -DENABLE_SAMPLING_PROFILER=OFF \ $lto cmake --build build } check() { ninja -C build check } package() { DESTDIR="$pkgdir" cmake --install build mv "$pkgdir"/usr/bin/WebKitWebDriver "$pkgdir"/usr/bin/WebKitWebDriver-4.1 } dbg() { # hack to use over binutils objcopy for riscv CROSS_COMPILE=llvm- default_dbg } sha512sums=" 90bb4396438eb68995b0d8b37cc511291fcd14cf42ce2ac99c66f286a008afd638bfb723d2b29fefd8298c31210e865b5dae38c97dabd865c96592507a285c10 webkitgtk-2.38.6.tar.xz "