aboutsummaryrefslogtreecommitdiffstats
path: root/community/webkit2gtk/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/webkit2gtk/APKBUILD')
-rw-r--r--community/webkit2gtk/APKBUILD198
1 files changed, 158 insertions, 40 deletions
diff --git a/community/webkit2gtk/APKBUILD b/community/webkit2gtk/APKBUILD
index 1433467c3e7..8248eb70e05 100644
--- a/community/webkit2gtk/APKBUILD
+++ b/community/webkit2gtk/APKBUILD
@@ -1,21 +1,22 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
# Contributor: Sergei Lukin <sergej.lukin@gmail.com>
# Contributor: Jiri Horner <laeqten@gmail.com>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=webkit2gtk
-pkgver=2.32.4
+pkgver=2.44.1
pkgrel=0
pkgdesc="Portable web rendering engine WebKit for GTK+"
url="https://webkitgtk.org/"
-# mips64 and riscv64 blocked by gst-plugins-bad
-arch="all !mips64 !riscv64"
+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
+ flite-dev
geoclue-dev
gnutls-dev
gobject-introspection-dev
@@ -24,41 +25,98 @@ makedepends="
gst-plugins-base-dev
gstreamer-dev
gtk+3.0-dev
- gtk-doc
hyphen-dev
icu-dev
+ lcms2-dev
+ libavif-dev
libgcrypt-dev
libjpeg-turbo-dev
libmanette-dev
- libnotify-dev
libpng-dev
libseccomp-dev
libsecret-dev
libsoup-dev
libwebp-dev
+ libwpe-dev
+ libwpebackend-fdo-dev
libxml2-dev
libxslt-dev
libxt-dev
+ llvm
mesa-dev
openjpeg-dev
- openjpeg-tools
pango-dev
python3
ruby
samurai
sqlite-dev
+ unifdef
woff2-dev
- ruby-json
- libwpe-dev
- libwpebackend-fdo-dev
"
replaces="webkit"
options="!check" # upstream doesn't package them in release tarballs: Tools/Scripts/run-gtk-tests: Command not found
subpackages="$pkgname-dev $pkgname-lang $pkgname-dbg"
-source="https://webkitgtk.org/releases/webkitgtk-$pkgver.tar.xz"
+source="https://webkitgtk.org/releases/webkitgtk-$pkgver.tar.xz
+ armv6kz.patch
+ armv6-musttail.patch
+ cloopfix.patch
+ riscv64-no-wasm.patch
+ "
builddir="$srcdir/webkitgtk-$pkgver"
# secfixes:
+# 2.36.5-r0:
+# - CVE-2022-2294
+# - CVE-2022-32792
+# - CVE-2022-32816
+# 2.36.4-r0:
+# - CVE-2022-22677
+# - CVE-2022-22710
+# 2.36.1-r0:
+# - CVE-2022-30293
+# - CVE-2022-30294
+# 2.36.0-r0:
+# - CVE-2022-22624
+# - CVE-2022-22628
+# - CVE-2022-22629
+# 2.34.6-r0:
+# - CVE-2022-22589
+# - CVE-2022-22590
+# - CVE-2022-22592
+# - CVE-2022-22620
+# 2.34.4-r0:
+# - CVE-2021-30934
+# - CVE-2021-30936
+# - CVE-2021-30951
+# - CVE-2021-30952
+# - CVE-2021-30953
+# - CVE-2021-30954
+# - CVE-2021-30984
+# - CVE-2022-22637
+# - CVE-2022-22594
+# 2.34.3-r0:
+# - CVE-2021-30887
+# - CVE-2021-30890
+# 2.34.1-r0:
+# - CVE-2021-42762
+# 2.34.0-r0:
+# - CVE-2021-30818
+# - CVE-2021-30823
+# - CVE-2021-30846
+# - CVE-2021-30851
+# - CVE-2021-30884
+# - CVE-2021-30888
+# - CVE-2021-30889
+# - CVE-2021-30897
+# - CVE-2021-45481
+# - CVE-2021-45483
+# 2.32.4-r0:
+# - CVE-2021-30809
+# - CVE-2021-30836
+# - CVE-2021-30848
+# - CVE-2021-30849
+# - CVE-2021-30858
+# - CVE-2021-45482
# 2.32.3-r0:
# - CVE-2021-21775
# - CVE-2021-21779
@@ -230,52 +288,112 @@ builddir="$srcdir/webkitgtk-$pkgver"
# - CVE-2017-2371
# - CVE-2017-2373
+case "$CARCH" in
+s390x) ;;
+*)
+ makedepends="$makedepends lld libjxl-dev"
+ ;;
+esac
+
build() {
- local _archopt=
case "$CARCH" in
- # disable _FORTIFY_SOURCE to work around:
- # cc1plus: out of memory allocating 65536 bytes after a total of 3131101184 bytes
- x86) CXXFLAGS="$CXXFLAGS -U_FORTIFY_SOURCE";;
- armhf|ppc64le|s390x) _archopt="-DENABLE_JIT=OFF";;
+ s390x|armhf|armv7|x86|ppc64le)
+ # llint/LowLevelInterpreter.cpp fails to build with fortify source here
+ export CXXFLAGS="$CXXFLAGS -U_FORTIFY_SOURCE"
+ ;;
esac
- # reduce memory usage on 32 bit
- # https://bugs.webkit.org/show_bug.cgi?id=199272
+ case "$CARCH" in
+ armv7)
+ # clang fails to build armv7 due to some NEON related thing.
+ # https://github.com/WebKit/WebKit/pull/1233 should fix it
+ ;;
+ s390x|riscv64)
+ # no lld on s390x, broken on riscv64
+ 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
+
+ case "$CARCH" in
+ s390x)
+ # no libjxl
+ local jxl="-DUSE_JPEGXL=OFF"
+ ;;
+ *) ;;
+ esac
+
+ case "$CARCH" in
+ riscv64)
+ # not supported
+ local jit="
+ -DENABLE_JIT=OFF
+ -DENABLE_C_LOOP=ON
+ -DENABLE_WEBASSEMBLY=OFF
+ "
+ ;;
+ *) ;;
+ 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"
- mkdir build
- cd build
- # disable gold usage since it can't find pthreads with it enabled
- cmake -GNinja \
+ # sampling profiler is broken on musl
+ cmake -B build -G Ninja \
-DPORT=GTK \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_INSTALL_DIR=/usr/lib \
- -DENABLE_GTKDOC=OFF \
- -DENABLE_GEOLOCATION=ON \
- -DENABLE_SAMPLING_PROFILER=OFF \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DENABLE_DOCUMENTATION=OFF \
+ -DENABLE_JOURNALD_LOG=OFF \
-DENABLE_MINIBROWSER=ON \
- -DUSE_WPE_RENDERER=ON \
- -DUSE_WOFF2=ON \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DUSE_LD_GOLD=OFF \
- -DUSE_SYSTEMD=OFF \
- $_archopt \
- ..
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923476
- ninja JavaScriptCore-4-gir
- ninja
+ -DENABLE_SAMPLING_PROFILER=OFF \
+ -DENABLE_SPELLCHECK=ON \
+ -DENABLE_SPEECH_SYNTHESIS=ON \
+ -DUSE_SOUP2=ON \
+ -DUSE_GTK4=OFF \
+ -DUSE_LIBBACKTRACE=OFF \
+ $lto \
+ $jxl \
+ $jit
+ cmake --build build
}
check() {
- ninja -C "$builddir"/build check
+ ninja -C build check
}
package() {
- DESTDIR="$pkgdir" ninja -C "$builddir"/build install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-c2d72850097da72a82faab0a1218b312668b88bc8b67fcd62f08368c71d46bc833e08b3e095eb286beeae59ee88ac74c8393caee8a4ec5a8e90e02425e43350b webkitgtk-2.32.4.tar.xz
+b1752303f9ee38ef98c1e5c0cad001d389eaedbbf07d13fed8699104e6e311cb47a9bed7089868cb92c53d2777aaff441147353da13123d5c8eee4adf8709169 webkitgtk-2.44.1.tar.xz
+8c89d4ac737a2bd6d970fec3ecb9d0b72d61ffb9a37d4b0b56bc0106914398a65319e940c593c0305fc40d6900aac2a8b4fc3bafc9a96062063d15abd1f5039d armv6kz.patch
+d3e3a20cf6f1447e15eec8636301fb5c4c12560e4a5d47707708425b0da8ab84e3b1a10f98c9ba4ed2e1a32a9c131055da14f8f74e8bde20d4269bf8313dc04d armv6-musttail.patch
+49acf07095abb3c6114790b676f1fe4c1f6c4c4d66d2aed525e61291bd9857386749cc31a521e3f739758ed6d6b0e176a45543e7c58ca16c9c1b266222d362ed cloopfix.patch
+61461d19f80108357d0469a855212308a49fb43f5a629d119f95492c3897444664cbe12beddc53d801878124a67e38b4a404d37d1ac9c0e5ce65d7586328b1d9 riscv64-no-wasm.patch
"