Subject: [alpine-aports] [PATCH v2] community/webkit2gtk: patch to fix JavaScriptCore

From: Sascha Paunovic <[email-masked]>
Date: Fri, 13 Jul 2018 10:30:52 +0200

Introduce a patch to make javascript run with webkit2gtk, patch
originally from
https://gitweb.gentoo.org/proj/musl.git/tree/net-libs/webkit-gtk/files/webkit-gtk-2.18.1-musl.patch
and reformatted by ds6 on #alpine-linux.
---
 community/webkit2gtk/APKBUILD                 |   4 +-
 .../webkit2gtk/musl-fix-javascriptcore.patch  | 142 ++++++++++++++++++
 2 files changed, 145 insertions(+), 1 deletion(-)
 create mode 100644 community/webkit2gtk/musl-fix-javascriptcore.patch

diff --git a/community/webkit2gtk/APKBUILD b/community/webkit2gtk/APKBUILD
index 621b713fef..b8a4de2481 100644
--- a/community/webkit2gtk/APKBUILD
+++ b/community/webkit2gtk/APKBUILD
@@ -44,6 +44,7 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
 source="https://webkitgtk.org/releases/webkitgtk-$pkgver.tar.xz
 	fix-fast-memory-disabled.patch
 	fix_armv6l.patch
+	musl-fix-javascriptcore.patch
 	"
 
 # secfixes:
@@ -110,4 +111,5 @@ package() {
 
 sha512sums="69a7b27e294de6fd43240ce1d314cd1ccdbf29674c97967674459fd02720b31fa53e5412efbd93dc1e805d38e38feb7fe9a12cdd9c472471676b8db3c11734de  webkitgtk-2.20.3.tar.xz
 9d7de4755c21d2573103dde326bb86ba37d54032627cb1bd362138906ac1d6a1dc48d4e548f29e29dc507831bae833ac5a8d2cf7fdb3d6a9d5bd5fb06f222b00  fix-fast-memory-disabled.patch
-f8fad1450d87f1cb195818cddb8a2307616916612e4676a4d71a20d58864d1c153550e4465a128e04f136c437518a4b90f1fa685ef6519fa8054637760635c72  fix_armv6l.patch"
+f8fad1450d87f1cb195818cddb8a2307616916612e4676a4d71a20d58864d1c153550e4465a128e04f136c437518a4b90f1fa685ef6519fa8054637760635c72  fix_armv6l.patch
+73b8edae6b8f7f989f74b932214ccc405f0a2459c3abcdfa410ef7438308a2d9fa3057319a3e48a0e6768d6144ed00744a8f2b39b8ef83dd2b77b516bea3a1ba  musl-fix-javascriptcore.patch"
diff --git a/community/webkit2gtk/musl-fix-javascriptcore.patch b/community/webkit2gtk/musl-fix-javascriptcore.patch
new file mode 100644
index 0000000000..34a93af779
--- /dev/null
+++ b/community/webkit2gtk/musl-fix-javascriptcore.patch
@@ -0,0 +1,142 @@
+Fixes JavaScriptCore on musl platforms, taken and reformatted from the Gentoo
+musl overlay:
+
+https://gitweb.gentoo.org/proj/musl.git/tree/net-libs/webkit-gtk/files/webkit-gtk-2.18.1-musl.patch
+
+--- a/Source/JavaScriptCore/runtime/MachineContext.h
++++ b/Source/JavaScriptCore/runtime/MachineContext.h
+@@ -146,7 +146,7 @@ inline void*& stackPointer(mcontext_t& machineContext)
+ #error Unknown Architecture
+ #endif
+ 
+-#elif defined(__GLIBC__) || defined(__BIONIC__)
++#elif defined(__linux__)
+ 
+ #if CPU(X86)
+     return reinterpret_cast<void*&>((uintptr_t&) machineContext.gregs[REG_ESP]);
+@@ -251,7 +251,7 @@ inline void*& framePointer(mcontext_t& machineContext)
+ #error Unknown Architecture
+ #endif
+ 
+-#elif defined(__GLIBC__) || defined(__BIONIC__)
++#elif defined(__linux__)
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+@@ -354,7 +354,7 @@ inline void*& instructionPointer(mcontext_t& machineContext)
+ #error Unknown Architecture
+ #endif
+ 
+-#elif defined(__GLIBC__) || defined(__BIONIC__)
++#elif defined(__linux__)
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+@@ -466,7 +466,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext)
+ #error Unknown Architecture
+ #endif
+ 
+-#elif defined(__GLIBC__) || defined(__BIONIC__)
++#elif defined(__linux__)
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+@@ -583,7 +583,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext)
+ #error Unknown Architecture
+ #endif
+ 
+-#elif defined(__GLIBC__) || defined(__BIONIC__)
++#elif defined(__linux__)
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+ 
+--- a/Source/JavaScriptCore/runtime/Options.h
++++ b/Source/JavaScriptCore/runtime/Options.h
+@@ -126,9 +126,9 @@
+     \
+     v(bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \
+     \
+-    v(unsigned, maxPerThreadStackUsage, 4 * MB, Normal, "Max allowed stack usage by the VM") \
+-    v(unsigned, softReservedZoneSize, 128 * KB, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \
+-    v(unsigned, reservedZoneSize, 64 * KB, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \
++    v(unsigned, maxPerThreadStackUsage, 80 * KB, Normal, "Max allowed stack usage by the VM") \
++    v(unsigned, softReservedZoneSize, 32 * KB, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \
++    v(unsigned, reservedZoneSize, 16 * KB, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \
+     \
+     v(bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \
+     v(unsigned, jitMemoryReservationSize, 0, Normal, "Set this number to change the executable allocation size in ExecutableAllocatorFixedVMPool. (In bytes.)") \
+
+--- a/Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.cpp
++++ b/Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.cpp
+@@ -836,7 +836,7 @@
+ #if YYERROR_VERBOSE
+ 
+ # ifndef yystrlen
+-#  if defined __GLIBC__ && defined _STRING_H
++#  if defined __linux__ && defined _STRING_H
+ #   define yystrlen strlen
+ #  else
+ /* Return the length of YYSTR.  */
+@@ -852,7 +852,7 @@
+ # endif
+ 
+ # ifndef yystpcpy
+-#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
++#  if defined __linux__ && defined _STRING_H && defined _GNU_SOURCE
+ #   define yystpcpy stpcpy
+ #  else
+ /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+
+--- a/Source/ThirdParty/ANGLE/src/compiler/translator/glslang_tab.cpp
++++ b/Source/ThirdParty/ANGLE/src/compiler/translator/glslang_tab.cpp
+@@ -1975,7 +1975,7 @@
+ #if YYERROR_VERBOSE
+ 
+ # ifndef yystrlen
+-#  if defined __GLIBC__ && defined _STRING_H
++#  if defined __linux__ && defined _STRING_H
+ #   define yystrlen strlen
+ #  else
+ /* Return the length of YYSTR.  */
+@@ -1991,7 +1991,7 @@
+ # endif
+ 
+ # ifndef yystpcpy
+-#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
++#  if defined __linux__ && defined _STRING_H && defined _GNU_SOURCE
+ #   define yystpcpy stpcpy
+ #  else
+ /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+
+--- a/Source/WTF/wtf/Platform.h
++++ b/Source/WTF/wtf/Platform.h
+@@ -679,7 +679,7 @@
+ #define HAVE_CFNETWORK_STORAGE_PARTITIONING 1
+ #endif
+ 
+-#if OS(DARWIN) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
++#if OS(DARWIN) || ((OS(FREEBSD) || defined(__linux__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
+ #define HAVE_MACHINE_CONTEXT 1
+ #endif
+
+--- a/Source/WebCore/xml/XPathGrammar.cpp
++++ b/Source/WebCore/xml/XPathGrammar.cpp
+@@ -967,7 +967,7 @@
+ #if YYERROR_VERBOSE
+ 
+ # ifndef yystrlen
+-#  if defined __GLIBC__ && defined _STRING_H
++#  if defined __linux__ && defined _STRING_H
+ #   define yystrlen strlen
+ #  else
+ /* Return the length of YYSTR.  */
+@@ -990,7 +990,7 @@
+ # endif
+ 
+ # ifndef yystpcpy
+-#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
++#  if defined __linux__ && defined _STRING_H && defined _GNU_SOURCE
+ #   define yystpcpy stpcpy
+ #  else
+ /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 
-- 
2.18.0

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---