From b355ec4801119190240adf04a549c7a877b99932 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Fri, 11 Oct 2024 10:36:47 +0000
Subject: [PATCH] extra/webkit2gtk to 2.46.1-4

---
 extra/webkit2gtk/.SRCINFO |  4 +++-
 extra/webkit2gtk/PKGBUILD | 18 ++++++++++++------
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/extra/webkit2gtk/.SRCINFO b/extra/webkit2gtk/.SRCINFO
index 7f640b769..eef510a9d 100644
--- a/extra/webkit2gtk/.SRCINFO
+++ b/extra/webkit2gtk/.SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = webkit2gtk
 	pkgdesc = Web content engine for GTK
 	pkgver = 2.46.1
-	pkgrel = 3
+	pkgrel = 4
 	url = https://webkitgtk.org
 	arch = x86_64
 	license = AFL-2.0 OR GPL-2.0-or-later
@@ -28,12 +28,14 @@ pkgbase = webkit2gtk
 	license = OFL-1.1
 	license = SunPro
 	license = Unicode-TOU
+	makedepends = clang
 	makedepends = cmake
 	makedepends = gi-docgen
 	makedepends = glib2-devel
 	makedepends = gobject-introspection
 	makedepends = gperf
 	makedepends = gst-plugins-bad
+	makedepends = lld
 	makedepends = ninja
 	makedepends = python
 	makedepends = ruby
diff --git a/extra/webkit2gtk/PKGBUILD b/extra/webkit2gtk/PKGBUILD
index d05303e6c..547c73038 100644
--- a/extra/webkit2gtk/PKGBUILD
+++ b/extra/webkit2gtk/PKGBUILD
@@ -12,7 +12,7 @@ pkgname=(
   webkit2gtk-docs
 )
 pkgver=2.46.1
-pkgrel=3
+pkgrel=4
 pkgdesc="Web content engine for GTK"
 url="https://webkitgtk.org"
 arch=(x86_64)
@@ -94,12 +94,14 @@ depends=(
   zlib
 )
 makedepends=(
+  clang
   cmake
   gi-docgen
   glib2-devel
   gobject-introspection
   gperf
   gst-plugins-bad
+  lld
   ninja
   python
   ruby
@@ -140,15 +142,19 @@ build() {
     -DENABLE_MINIBROWSER=ON
   )
 
+  # Upstream prefers Clang
+  # https://gitlab.archlinux.org/archlinux/packaging/packages/webkitgtk-6.0/-/issues/4
+  export CC=clang CXX=clang++
+  LDFLAGS+=" -fuse-ld=lld"
+
+  # Skia uses malloc_usable_size
+  CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
+  CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
+
   # JITted code crashes when CET is used
   #CFLAGS+=' -fcf-protection=none'
   #CXXFLAGS+=' -fcf-protection=none'
 
-  # Produce minimal debug info: 4.3 GB of debug data makes the
-  # build too slow and is too much to package for debuginfod
-  CFLAGS+=' -g0'
-  CXXFLAGS+=' -g0'
-
   [[ $CARCH == "armv7h" ]] && CFLAGS=`echo $CFLAGS | sed -e 's/neon/vfpv3/'` && CXXFLAGS="$CFLAGS"
 
   cmake -S webkitgtk-$pkgver -B build -G Ninja "${cmake_options[@]}"