summaryrefslogtreecommitdiff
path: root/src/stage4/patches/webkit2gtk.patch
blob: c8ea468871c8c6e02d8c546ef007e38b59090c26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
diff -rupN a/PKGBUILD b/PKGBUILD
--- a/PKGBUILD	2018-04-16 07:21:50.189889175 +0200
+++ b/PKGBUILD	2018-04-16 07:24:37.332873334 +0200
@@ -15,14 +15,17 @@ optdepends=('gtk2: Netscape plugin suppo
             'gst-plugins-base: free media decoding'
             'gst-plugins-good: media decoding'
             'gst-libav: nonfree media decoding')
-source=(https://webkitgtk.org/releases/webkitgtk-${pkgver}.tar.xz{,.asc})
+source=(https://webkitgtk.org/releases/webkitgtk-${pkgver}.tar.xz{,.asc}
+        webkitgtk-2.20.0-add-riscv64.patch)
 sha256sums=('57f640f720bd9a8a7207f3321cf803a15c2f207b4e7b75ff1be17bc1eeb00a3c'
-            'SKIP')
+            'SKIP'
+            'c843cc85b3f48121ed0fd3cb50d026f0c9d6e62461e457e1e059e9068c3b3997')
 validpgpkeys=('D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3')
 
 prepare() {
   mkdir build
   cd webkitgtk-$pkgver
+  patch -Np1 -i ../webkitgtk-2.20.0-add-riscv64.patch
   sed -i '1s/python$/&2/' Tools/gtk/generate-gtkdoc
 }
 
@@ -35,10 +38,12 @@ build() {
     -DCMAKE_INSTALL_PREFIX=/usr \
     -DCMAKE_SKIP_RPATH=ON \
     -DENABLE_GTKDOC=ON \
+    -DENABLE_JIT=OFF \
     -DLIBEXEC_INSTALL_DIR=/usr/lib \
     -DLIB_INSTALL_DIR=/usr/lib \
     -DPYTHON_EXECUTABLE=/usr/bin/python2 \
     ../webkitgtk-$pkgver
+  sed -i 's/-lpthread/& -latomic/g' build.ninja
   ninja
 }
 
diff -rupN a/webkitgtk-2.20.0-add-riscv64.patch b/webkitgtk-2.20.0-add-riscv64.patch
--- a/webkitgtk-2.20.0-add-riscv64.patch	1970-01-01 01:00:00.000000000 +0100
+++ b/webkitgtk-2.20.0-add-riscv64.patch	2018-04-15 17:22:32.242661969 +0200
@@ -0,0 +1,65 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3fb3dd5..4da0158 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -99,6 +99,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64")
+     set(WTF_CPU_PPC64 1)
+ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
+     set(WTF_CPU_PPC64LE 1)
++elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64")
++    set(WTF_CPU_RISCV64 1)
+ else ()
+     set(WTF_CPU_UNKNOWN 1)
+ endif ()
+diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
+index 94036df..b8a784a 100644
+--- a/Source/JavaScriptCore/CMakeLists.txt
++++ b/Source/JavaScriptCore/CMakeLists.txt
+@@ -225,6 +225,8 @@ else ()
+         set(OFFLINE_ASM_BACKEND "ARMv7_TRADITIONAL")
+     elseif (WTF_CPU_MIPS)
+         set(OFFLINE_ASM_BACKEND "MIPS")
++    elseif (WTF_CPU_RISCV64)
++	set(OFFLINE_ASM_BACKEND "RISCV64")
+     endif ()
+ 
+     if (NOT ENABLE_JIT)
+diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
+index 850e298..22f06c2 100644
+--- a/Source/WTF/wtf/Platform.h
++++ b/Source/WTF/wtf/Platform.h
+@@ -137,6 +137,11 @@
+ #define WTF_CPU_KNOWN 1
+ #endif
+ 
++/* CPU(RISCV64) - RISCV64 */
++#if defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
++#define WTF_CPU_RISCV64 1
++#endif
++
+ /* CPU(ARM64) - Apple */
+ #if (defined(__arm64__) && defined(__APPLE__)) || defined(__aarch64__)
+ #define WTF_CPU_ARM64 1
+@@ -744,7 +749,8 @@
+ #if !defined(ENABLE_JIT) \
+     && (CPU(X86) || CPU(X86_64) || CPU(ARM) || (CPU(ARM64) && !defined(__ILP32__)) || CPU(MIPS)) \
+     && !CPU(APPLE_ARMV7K) \
+-    && !CPU(ARM64E)
++    && !CPU(ARM64E) \
++    && !CPU(RISCV64)
+ #define ENABLE_JIT 1
+ #endif
+ 
+diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h
+index 14a9478..a35a78d 100644
+--- a/Source/WTF/wtf/dtoa/utils.h
++++ b/Source/WTF/wtf/dtoa/utils.h
+@@ -49,7 +49,7 @@
+ defined(__ARMEL__) || \
+ defined(_MIPS_ARCH_MIPS32R2)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(ARM64)
++#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(ARM64) || CPU(RISCV64)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(_M_IX86) || defined(__i386__)
+ #if defined(_WIN32)