commit:     c38f4eaccde061efdba61d522eee5a2c71f7abfa
Author:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  7 09:48:29 2024 +0000
Commit:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Tue Jun 25 16:44:56 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c38f4eac

net-libs/webkit-gtk: Fix building on riscv

Closes: https://bugs.gentoo.org/933675
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/37067
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>

 net-libs/webkit-gtk/files/2.44.1-riscv.patch      | 62 +++++++++++++++++++++++
 net-libs/webkit-gtk/webkit-gtk-2.44.1-r600.ebuild |  2 +
 2 files changed, 64 insertions(+)

diff --git a/net-libs/webkit-gtk/files/2.44.1-riscv.patch 
b/net-libs/webkit-gtk/files/2.44.1-riscv.patch
new file mode 100644
index 000000000000..fce0cec50113
--- /dev/null
+++ b/net-libs/webkit-gtk/files/2.44.1-riscv.patch
@@ -0,0 +1,62 @@
+From 30e1d5e22213fdaca2a29ec3400c927d710a37a8 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <[email protected]>
+Date: Mon, 16 Jan 2023 17:03:30 +0100
+Subject: [PATCH] REGRESSION(257865@main): B3Validate.cpp: fix
+ !ENABLE(WEBASSEMBLY_B3JIT)
+
+https://bugs.webkit.org/show_bug.cgi?id=250681
+
+Reviewed by NOBODY (OOPS!).
+
+WasmTypeDefinition.h isn't included if not ENABLE(WEBASSEMBLY_B3JIT).
+Also, toB3Type and simdScalarType are not defined if it is included.
+
+Signed-off-by: Thomas Devoogdt <[email protected]>
+---
+ Source/JavaScriptCore/b3/B3Validate.cpp | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/Source/JavaScriptCore/b3/B3Validate.cpp 
b/Source/JavaScriptCore/b3/B3Validate.cpp
+index d06a76023392..53bf8b16ed86 100644
+--- a/Source/JavaScriptCore/b3/B3Validate.cpp
++++ b/Source/JavaScriptCore/b3/B3Validate.cpp
+@@ -47,6 +47,12 @@
+ #include <wtf/StringPrintStream.h>
+ #include <wtf/text/CString.h>
+ 
++#if ENABLE(WEBASSEMBLY) && ENABLE(WEBASSEMBLY_B3JIT)
++#define simdScalarTypeToB3Type(type) toB3Type(Wasm::simdScalarType(type))
++#else
++#define simdScalarTypeToB3Type(type) B3::Type()
++#endif
++
+ namespace JSC { namespace B3 {
+ 
+ namespace {
+@@ -452,7 +458,7 @@ class Validater {
+             case VectorExtractLane:
+                 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
+                 VALIDATE(value->numChildren() == 1, ("At ", *value));
+-                VALIDATE(value->type() == 
toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", 
*value));
++                VALIDATE(value->type() == 
simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
+                 VALIDATE(value->child(0)->type() == V128, ("At ", *value));
+                 break;
+             case VectorReplaceLane:
+@@ -460,7 +466,7 @@ class Validater {
+                 VALIDATE(value->numChildren() == 2, ("At ", *value));
+                 VALIDATE(value->type() == V128, ("At ", *value));
+                 VALIDATE(value->child(0)->type() == V128, ("At ", *value));
+-                VALIDATE(value->child(1)->type() == 
toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", 
*value));
++                VALIDATE(value->child(1)->type() == 
simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
+                 break;
+             case VectorNot:
+             case VectorAbs:
+@@ -475,7 +481,7 @@ class Validater {
+                 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
+                 VALIDATE(value->numChildren() == 1, ("At ", *value));
+                 VALIDATE(value->type() == V128, ("At ", *value));
+-                VALIDATE(value->child(0)->type() == 
toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", 
*value));
++                VALIDATE(value->child(0)->type() == 
simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
+                 break;
+ 
+             case VectorPopcnt:

diff --git a/net-libs/webkit-gtk/webkit-gtk-2.44.1-r600.ebuild 
b/net-libs/webkit-gtk/webkit-gtk-2.44.1-r600.ebuild
index dca160b9f744..2c87e2a468dc 100644
--- a/net-libs/webkit-gtk/webkit-gtk-2.44.1-r600.ebuild
+++ b/net-libs/webkit-gtk/webkit-gtk-2.44.1-r600.ebuild
@@ -155,6 +155,8 @@ src_prepare() {
        eapply "${FILESDIR}"/2.42.3-arm64-non-jumbo-fix-925621.patch
        # Fix USE=-jumbo-build on all arches
        eapply "${FILESDIR}"/${PV}-non-unified-build-fixes.patch
+       # Fix building on riscv, bug 933675
+       eapply "${FILESDIR}"/${PV}-riscv.patch
 }
 
 src_configure() {

Reply via email to