diff --git a/0001-add-riscv64-support.patch b/0001-add-riscv64-support.patch new file mode 100644 index 0000000000000000000000000000000000000000..e92e7c8a9c0e980fab78e6366e66802e64955909 --- /dev/null +++ b/0001-add-riscv64-support.patch @@ -0,0 +1,117 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0acb7ba..77687d3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -90,6 +90,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x") + set(WTF_CPU_S390X 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64") + set(WTF_CPU_LOONGARCH64 1) ++elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") ++ set(WTF_CPU_RISCV64 1) + else () + message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'") + endif () +diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt +index 4d6a72b..ed35b54 100644 +--- a/Source/JavaScriptCore/CMakeLists.txt ++++ b/Source/JavaScriptCore/CMakeLists.txt +@@ -1289,6 +1289,7 @@ elseif (WTF_CPU_MIPS) + elseif (WTF_CPU_SH4) + elseif (WTF_CPU_X86) + elseif (WTF_CPU_LOONGARCH64) ++elseif (WTF_CPU_RISCV64) + elseif (WTF_CPU_X86_64) + if (MSVC AND ENABLE_JIT) + add_custom_command( +diff --git a/Source/ThirdParty/brotli/dec/port.h b/Source/ThirdParty/brotli/dec/port.h +index 6b3d735..d1c8c14 100644 +--- a/Source/ThirdParty/brotli/dec/port.h ++++ b/Source/ThirdParty/brotli/dec/port.h +@@ -56,10 +56,15 @@ + #define BROTLI_TARGET_POWERPC64 + #endif + ++#if defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64 ++#define BROTLI_TARGET_RISCV64 ++#endif ++ + #ifdef BROTLI_BUILD_PORTABLE + #define BROTLI_ALIGNED_READ (!!1) + #elif defined(BROTLI_TARGET_X86) || defined(BROTLI_TARGET_X64) || \ +- defined(BROTLI_TARGET_ARMV7) || defined(BROTLI_TARGET_ARMV8) ++ defined(BROTLI_TARGET_ARMV7) || defined(BROTLI_TARGET_ARMV8) || \ ++ defined(BROTLI_TARGET_RISCV64) + /* Allow unaligned read only for white-listed CPUs. */ + #define BROTLI_ALIGNED_READ (!!0) + #else +@@ -96,7 +101,7 @@ static BROTLI_INLINE void BrotliDump(const char* f, int l, const char* fn) { + #elif defined(BROTLI_BUILD_32_BIT) + #define BROTLI_64_BITS 0 + #elif defined(BROTLI_TARGET_X64) || defined(BROTLI_TARGET_ARMV8) || \ +- defined(BROTLI_TARGET_POWERPC64) ++ defined(BROTLI_TARGET_POWERPC64) || defined(BROTLI_TARGET_RISCV64) + #define BROTLI_64_BITS 1 + #else + #define BROTLI_64_BITS 0 +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 76f4262..338fddc 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -180,6 +180,11 @@ + #define WTF_CPU_X86_SSE2 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 +@@ -712,6 +717,7 @@ + || CPU(MIPS64) \ + || CPU(PPC64) \ + || CPU(PPC64LE) \ ++ || CPU(RISCV64) \ + || CPU(LOONGARCH64) + #define USE_JSVALUE64 1 + #else +diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h +index a90287d..b136162 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(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(LOONGARCH64) ++#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(LOONGARCH64) || CPU(RISCV64) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) + #if defined(_WIN32) +diff --git a/Tools/Scripts/webkitdirs.pm b/Tools/Scripts/webkitdirs.pm +index 45b6649..6e6acd1 100755 +--- a/Tools/Scripts/webkitdirs.pm ++++ b/Tools/Scripts/webkitdirs.pm +@@ -1264,6 +1264,11 @@ sub isARM() + return ($Config{archname} =~ /^arm[v\-]/) || ($Config{archname} =~ /^aarch64[v\-]/); + } + ++sub isRISCV() ++{ ++ return ($Config{archname} =~ /^riscv(|32|64)\-/); ++} ++ + sub isX86_64() + { + return (architecture() eq "x86_64") || 0; +@@ -2069,7 +2074,7 @@ sub generateBuildSystemFromCMakeProject + # Compiler options to keep floating point values consistent + # between 32-bit and 64-bit architectures. + determineArchitecture(); +- if ($architecture ne "x86_64" && !isARM() && !isCrossCompilation() && !isAnyWindows()) { ++ if ($architecture ne "x86_64" && !isARM() && !isRISCV() && !isCrossCompilation() && !isAnyWindows()) { + $ENV{'CXXFLAGS'} = "-march=pentium4 -msse2 -mfpmath=sse " . ($ENV{'CXXFLAGS'} || ""); + } + diff --git a/qt5-qtwebkit.spec b/qt5-qtwebkit.spec index a1e0bd84f5a000cbc78031fc0ce42286c556a81e..207856e78f238808feaf9ff8e4b6af5ef73daac2 100644 --- a/qt5-qtwebkit.spec +++ b/qt5-qtwebkit.spec @@ -16,7 +16,7 @@ Name: qt5-%{qt_module} Version: 5.212.0 -Release: 9 +Release: 10 Summary: Qt5 - QtWebKit components License: LGPL-2.0-or-later and BSD-2-Clause @@ -34,6 +34,9 @@ Patch6: 0001-add-loongarch-support-for-qtwebkit.patch # Ruby 3.2 removes Object#=~ completely Patch7: webkit-offlineasm-warnings-ruby27.patch Patch8: qtwebkit-cstdint.patch + +Patch9: 0001-add-riscv64-support.patch + BuildRequires: bison BuildRequires: cmake BuildRequires: flex @@ -158,10 +161,10 @@ cmake . \ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -%ifarch s390 s390x ppc %{power64} loongarch64 +%ifarch s390 s390x ppc %{power64} loongarch64 riscv64 -DENABLE_JIT=OFF \ %endif -%ifarch s390 s390x ppc %{power64} loongarch64 +%ifarch s390 s390x ppc %{power64} loongarch64 riscv64 -DUSE_SYSTEM_MALLOC=ON \ %endif %{?docs:-DGENERATE_DOCUMENTATION=ON} \ @@ -240,6 +243,9 @@ test -z "$(pkg-config --cflags Qt5WebKit | grep Qt5WebKit)" %changelog +* Thu Sep 21 2023 Jingwiw - 5.212.0-10 +- add riscv64 support for qt5-qtwebkit + * Wed Aug 02 2023 peijiankang - 5.212.0-9 - fix build error