Compare commits

...

46 Commits

Author SHA1 Message Date
David Abdurachmanov eb112ee2ed
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-01-09 11:05:53 +02:00
Jan Grulich 233cf97382 Rebuild (qt5) 2024-01-03 10:36:45 +01:00
David Abdurachmanov 1a21789b92
Add support for riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-11-10 10:30:05 +02:00
Jan Grulich 960dd8639a Include more webkitgtk optimizations 2023-10-11 08:53:18 +02:00
Jan Grulich c47bc9ac67 Require 8GB of RAM per vCPU for debuginfo processing 2023-10-10 18:14:14 +02:00
Jan Grulich 0f720fcfe1 Rebuild (qt5) 2023-10-08 18:04:34 +02:00
Fedora Release Engineering 4bdb5e0a41 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 16:09:31 +00:00
František Zatloukal 25215d15f2 Rebuilt for ICU 73.2 2023-07-12 00:32:07 +02:00
Jan Grulich d1ad1555d6 Rebuild (qt5) 2023-06-14 08:48:52 +02:00
Jan Grulich 9c68e9f150 Rebuild (qt5) 2023-04-12 06:32:48 +02:00
Than Ngo e41996e42c fixed FTBFS 2023-02-20 17:24:09 +01:00
Than Ngo dbd1decd73 migrated to SPDX license 2023-02-20 13:50:53 +01:00
Fedora Release Engineering 245d6c2cfd Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 19:08:33 +00:00
Jan Grulich d04d68620f Rebuild (qt5) 2023-01-06 12:57:43 +01:00
Pete Walter b5876f8a36 Rebuild for ICU 72 2022-12-31 03:16:28 +00:00
Jan Grulich 1589ea638f Rebuild (qt5) 2022-10-31 14:31:09 +01:00
Mamoru TASAKA ba65ef8764 Patch for offlineasm to support ruby 3.2 wrt Object#=~ removal 2022-10-18 21:41:21 +09:00
Jan Grulich cfca3b5df3 Rebuild (qt5) 2022-09-21 10:30:30 +02:00
František Zatloukal 0d8fd23134 Rebuilt for ICU 71.1 2022-08-02 13:23:56 +02:00
Fedora Release Engineering 8cd61cff41 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 00:09:58 +00:00
Jan Grulich 50ebdff993 Rebuild (qt5) 2022-07-15 08:13:37 +02:00
Jan Grulich 1380c0174e Rebuild (qt5) 2022-05-19 08:05:41 +02:00
Jan Grulich 6530dc4b54 Rebuild (qt5) 2022-03-08 15:12:25 +01:00
Than Ngo 94aa2286cf disable _package_note_flags because it breaks qt5-qtwebkit 2022-02-09 11:30:23 +01:00
Fedora Release Engineering c65c611e33 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 17:11:17 +00:00
Fedora Release Engineering 63d29a4569 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 10:52:48 +00:00
Than Ngo c519c35944 fix macro definitions TRUE,FALSE 2021-05-31 22:07:27 +02:00
Than Ngo 67bf7739bd upload correct patch 2021-05-31 21:27:03 +02:00
Than Ngo a4ec66d718 fix FTBFS against glib >= 2.68 2021-05-31 21:22:30 +02:00
Pete Walter 4f7abd0dc3 Rebuild for ICU 69 2021-05-20 01:17:09 +01:00
Jonathan Wakely d32bb407d0 Rebuilt for removed libstdc++ symbols (#1937698) 2021-05-10 16:08:32 +01:00
Jonathan Wakely 9ac529c590 Rebuilt for removed libstdc++ symbol (#1937698) 2021-03-30 19:39:40 +01:00
Fedora Release Engineering 20c502e6e3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 14:47:01 +00:00
Tom Stellard b35ef8c4d6 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-08 20:21:53 +00:00
Jan Grulich eede7f8652 Rebuild for qtbase with -no-reduce-relocations option 2020-11-24 07:56:10 +01:00
Jan Grulich ff0bd0e3c8 Rebuild (qt5) 2020-11-20 13:29:20 +01:00
Jan Grulich 80dcc623a7 Fix build 2020-09-11 12:06:09 +02:00
Jan Grulich e0c3cbdcfc rebuild (qt5) 2020-09-11 10:44:25 +02:00
Than Ngo 5694081ba3 Fixed #1863719, FTBFS 2020-08-27 14:36:59 +02:00
Fedora Release Engineering dce294e9bc - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 07:36:54 +00:00
Fedora Release Engineering cee1536926 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 05:15:05 +00:00
Jeff Law a6d9ba2d98 Disable LTO 2020-07-01 12:43:13 -06:00
Rex Dieter bbe192f868 rebuild (python39) 2020-06-03 14:57:52 -05:00
Pete Walter 3c3d98a9cb Rebuild for ICU 67 2020-05-17 08:04:33 +01:00
Pete Walter d07555709f Rebuild for ICU 67 2020-05-16 18:17:59 +01:00
Rex Dieter 9648047c7c 5.212.0-alpha4
use python3 (#1807535)
2020-04-24 11:01:16 -05:00
11 changed files with 545 additions and 46 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
/qtwebkit-opensource-src-5.9.0.tar.xz
/qtwebkit-5.212.0-alpha2.tar.xz
/qtwebkit-5.212.0-alpha3.tar.xz
/qtwebkit-5.212.0-alpha4.tar.xz

View File

@ -0,0 +1,13 @@
diff -up qtwebkit-5.212.0-alpha4/Source/WTF/wtf/glib/GRefPtr.h.me qtwebkit-5.212.0-alpha4/Source/WTF/wtf/glib/GRefPtr.h
--- qtwebkit-5.212.0-alpha4/Source/WTF/wtf/glib/GRefPtr.h.me 2021-05-31 21:26:39.137033058 +0200
+++ qtwebkit-5.212.0-alpha4/Source/WTF/wtf/glib/GRefPtr.h 2021-05-31 21:26:45.312412620 +0200
@@ -29,9 +29,6 @@
#include <wtf/RefPtr.h>
#include <algorithm>
-extern "C" void g_object_unref(gpointer);
-extern "C" gpointer g_object_ref_sink(gpointer);
-
namespace WTF {
enum GRefPtrAdoptType { GRefPtrAdopt };

View File

@ -1,10 +1,12 @@
%undefine _annotated_build
# The additional linker flags break binary qt5-qtwebkits packages.
# https://bugzilla.redhat.com/show_bug.cgi?id=2046931
%undefine _package_note_flags
%global qt_module qtwebkit
%global _hardened_build 1
%global prerel alpha3
%global prerel alpha4
%global prerel_tag -%{prerel}
## NOTE: Lots of files in various subdirectories have the same name (such as
@ -16,17 +18,28 @@
Name: qt5-%{qt_module}
Version: 5.212.0
Release: 0.43.%{?prerel}%{?dist}
Release: 0.80%{?prerel}.0.riscv64%{?dist}
Summary: Qt5 - QtWebKit components
License: LGPLv2 and BSD
License: LGPL-2.0-only AND BSD-3-Clause
URL: https://github.com/qtwebkit/qtwebkit
Source0: https://github.com/qtwebkit/qtwebkit/releases/download/%{qt_module}-%{version}%{?prerel_tag}/%{qt_module}-%{version}%{?prerel_tag}.tar.xz
# Patch for new CMake policy CMP0071 to explicitly use old behaviour.
Patch2: qtwebkit-5.212.0_cmake_cmp0071.patch
Patch3: qtwebkit-missing-semicolons.patch
Patch3: qtwebkit-5.212.0-json.patch
Patch4: qtwebkit-bison37.patch
Patch5: qt5-qtwebkit-glib-2.68.patch
Patch6: qtwebkit-icu68.patch
# From https://github.com/WebKit/WebKit/commit/c7d19a492d97f9282a546831beb918e03315f6ef
# Ruby 3.2 removes Object#=~ completely
Patch7: webkit-offlineasm-warnings-ruby27.patch
Patch8: qtwebkit-cstdint.patch
# riscv64
Patch10: qtwebkit-5.212.0-alpha4-add-riscv64.patch
BuildRequires: make
BuildRequires: bison
BuildRequires: cmake
BuildRequires: flex
@ -52,7 +65,7 @@ BuildRequires: pkgconfig(gstreamer-gl-1.0)
BuildRequires: pkgconfig(gstreamer-mpegts-1.0)
BuildRequires: perl-generators
BuildRequires: perl(File::Copy)
BuildRequires: python2
BuildRequires: python3
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtdeclarative-devel
%if ! 0%{?bootstrap}
@ -121,17 +134,31 @@ test -f Source/WebCore/Resources/textAreaResizeCorner.png
%build
# QT is known not to work properly with LTO at this point. Some of the issues
# are being worked on upstream and disabling LTO should be re-evaluated as
# we update this change. Until such time...
# Disable LTO
%define _lto_cflags %{nil}
%define _package_note_flags %{nil}
# The following changes of optflags ietc. are adapted from webkitgtk4 package, which
# is mostly similar to this one...
#
# Increase the DIE limit so our debuginfo packages could be size optimized.
# Decreases the size for x86_64 from ~5G to ~1.1G.
# Increase the DIE limit so our debuginfo packages can be size-optimized.
# This previously decreased the size for x86_64 from ~5G to ~1.1G, but as of
# 2022 it's more like 850 MB -> 675 MB. This requires lots of RAM on the
# builders, so only do this for x86_64 and aarch64 to avoid overwhelming
# builders with less RAM.
# https://bugzilla.redhat.com/show_bug.cgi?id=1456261
%global _dwz_max_die_limit 250000000
%global _dwz_max_die_limit_x86_64 250000000
%global _dwz_max_die_limit_aarch64 250000000
# Require 32 GB of RAM per vCPU for debuginfo processing. 16 GB is not enough.
%global _find_debuginfo_opts %limit_build -m 32768
# Decrease debuginfo even on ix86 because of:
# https://bugs.webkit.org/show_bug.cgi?id=140176
%ifarch s390 s390x %{arm} %{ix86} ppc %{power64} %{mips}
%ifarch s390 s390x %{arm} %{ix86} ppc %{power64} %{mips} riscv64
# Decrease debuginfo verbosity to reduce memory consumption even more
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif
@ -146,24 +173,26 @@ CXXFLAGS="${CXXFLAGS:-%optflags} -fpermissive" ; export CXXFLAGS ;
%{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;}
# We cannot use default cmake macro here as it overwrites some settings queried
# by qtwebkit cmake from qmake
cmake -DPORT=Qt \
%cmake \
-DPORT=Qt \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_TOOLS=OFF \
-DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
%ifarch s390 s390x ppc %{power64}
%ifarch s390 s390x ppc %{power64} riscv64
-DENABLE_JIT=OFF \
%endif
%ifarch s390 s390x ppc %{power64}
-DUSE_SYSTEM_MALLOC=ON \
%endif
%if 0%{?docs}
-DGENERATE_DOCUMENTATION=ON \
%ifarch riscv64
-DTHREADS_PREFER_PTHREAD_FLAG:BOOL=YES \
%endif
.
%{?docs:-DGENERATE_DOCUMENTATION=ON} \
-DPYTHON_EXECUTABLE:PATH="%{__python3}"
%make_build
%cmake_build
%if 0%{?docs}
%make_build docs
@ -171,7 +200,7 @@ cmake -DPORT=Qt \
%install
%make_install
%cmake_install
find %{buildroot} -name '*.la' -exec rm -f {} ';'
@ -236,6 +265,125 @@ test -z "$(pkg-config --cflags Qt5WebKit | grep Qt5WebKit)"
%changelog
* Tue Jan 09 2024 David Abdurachmanov <davidlt@rivosinc.com> - 5.212.0-0.80alpha4.0.riscv64
- Add support for riscv64
* Wed Jan 03 2024 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.80alpha4
- Rebuild (qt5)
* Sun Oct 08 2023 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.79alpha4
- Rebuild (qt5)
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.212.0-0.78alpha4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 František Zatloukal <fzatlouk@redhat.com> - 5.212.0-0.77alpha4
- Rebuilt for ICU 73.2
* Wed Jun 14 2023 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.76alpha4
- Rebuild (qt5)
* Wed Apr 12 2023 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.75alpha4
- Rebuild (qt5)
* Mon Feb 20 2023 Than Ngo <than@redhat.com> - 5.212.0-0.74alpha4
- migrated to SPDX license
- fixed FTBFS
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.212.0-0.73alpha4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jan 06 2023 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.72alpha4
- Rebuild (qt5)
* Sat Dec 31 2022 Pete Walter <pwalter@fedoraproject.org> - 5.212.0-0.71alpha4
- Rebuild for ICU 72
* Mon Oct 31 2022 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.70alpha4
- Rebuild (qt5)
* Tue Oct 18 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 5.212.0-0.69.alpha4
- Patch for offlineasm to support ruby 3.2 wrt Object#=~ removal
* Wed Sep 21 2022 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.68.alpha4
- Rebuild (qt5)
* Tue Aug 02 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 5.212.0-0.67.alpha4
- Rebuilt for ICU 71.1
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.212.0-0.66.alpha4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jul 15 2022 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.65.alpha4
- Rebuild (qt5)
* Thu May 19 2022 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.64.alpha4
- Rebuild (qt5)
* Tue Mar 08 2022 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.63.alpha4
- Rebuild (qt5)
* Wed Feb 09 2022 Than Ngo <than@redhat.com> - 5.212.0-0.62.alpha4
- disable _package_note_flags because it breaks qt5-qtwebkit
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.212.0-0.61.alpha4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.212.0-0.60.alpha4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 31 2021 Than Ngo <than@redhat.com> - 5.212.0-0.59.alpha4
- fix FTBFS against glib >= 2.68
- fix macro definitions TRUE,FALSE
* Thu May 20 2021 Pete Walter <pwalter@fedoraproject.org> - 5.212.0-0.58.alpha4
- Rebuild for ICU 69
* Mon May 10 2021 Jonathan Wakely <jwakely@redhat.com> - 5.212.0-0.57.alpha4
- Rebuilt for removed libstdc++ symbols (#1937698)
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 5.212.0-0.56.alpha4
- Rebuilt for removed libstdc++ symbol (#1937698)
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.212.0-0.55.alpha4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Nov 24 07:56:08 CET 2020 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.54.alpha4
- Rebuild for qtbase with -no-reduce-relocations option
* Fri Nov 20 13:29:15 CET 2020 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.53.alpha4
- Rebuild (qt5)
* Fri Sep 11 2020 Jan Grulich <jgrulich@redhat.com> - 5.212.0-0.52.alpha4
- rebuild (qt5)
* Thu Aug 27 2020 Than Ngo <than@redhat.com> - 5.212.0-0.51.alpha4
- Fixed #1863719, FTBFS
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.212.0-0.50.alpha4
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.212.0-0.49.alpha4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 01 2020 Jeff Law <law@redhat.com> - 5.212.0-0.48.alpha4
- Disable LTO
* Wed Jun 03 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.212.0-0.47.alpha4
- rebuild (python39)
* Sun May 17 2020 Pete Walter <pwalter@fedoraproject.org> - 5.212.0-0.46.alpha4
- Rebuild for ICU 67
* Sat May 16 2020 Pete Walter <pwalter@fedoraproject.org> - 5.212.0-0.45.alpha4
- Rebuild for ICU 67
* Fri Apr 24 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.212.0-0.44.alpha4
- 5.212.0-alpha4
- use python3 (#1807535)
* Sun Apr 05 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.212.0-0.43.alpha3
- rebuild (qt5)

View File

@ -0,0 +1,133 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index db54eb4..ef22473 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -88,6 +88,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390")
set(WTF_CPU_S390 1)
elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
set(WTF_CPU_S390X 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 afd76ca..3fca6e0 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_X86_64)
+elseif (WTF_CPU_RISCV64)
if (MSVC AND ENABLE_JIT)
add_custom_command(
OUTPUT ${DERIVED_SOURCES_DIR}/JITStubsMSVC64.obj
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/CMakeLists.txt b/Source/WTF/wtf/CMakeLists.txt
index 297589b..2c29fcb 100644
--- a/Source/WTF/wtf/CMakeLists.txt
+++ b/Source/WTF/wtf/CMakeLists.txt
@@ -251,6 +251,9 @@ list(APPEND WTF_SOURCES
set(WTF_SYSTEM_INCLUDE_DIRECTORIES
${ICU_INCLUDE_DIRS}
)
+
+list(APPEND WTF_LIBRARIES atomic)
+
list(APPEND WTF_LIBRARIES
${ICU_I18N_LIBRARIES}
${ICU_LIBRARIES}
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
index 5717f3e..7aefa1b 100644
--- a/Source/WTF/wtf/Platform.h
+++ b/Source/WTF/wtf/Platform.h
@@ -176,6 +176,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
@@ -707,7 +712,8 @@
|| CPU(S390X) \
|| CPU(MIPS64) \
|| CPU(PPC64) \
- || CPU(PPC64LE)
+ || CPU(PPC64LE) \
+ || CPU(RISCV64)
#define USE_JSVALUE64 1
#else
#define USE_JSVALUE32_64 1
diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h
index 889642c..176d590 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)
+#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(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..1b32756 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'} || "");
}

View File

@ -0,0 +1,12 @@
diff -up qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files.me qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files
--- qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files.me 2020-08-27 13:50:06.506653244 +0200
+++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files 2020-08-27 14:00:52.802018893 +0200
@@ -163,7 +163,7 @@ if __name__ == "__main__":
initBytecodesFile = openOrExit(initASMFileName, "w")
try:
- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8")
+ bytecodeSections = json.load(bytecodeFile)
except:
print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info()))

39
qtwebkit-bison37.patch Normal file
View File

@ -0,0 +1,39 @@
Description: let Bison generate the header directly
Starting with Bison 3.7, the generated C++ file #include's the header
by default, instead of duplicating it. So we should not delete it.
.
Remove the code to add #ifdef guards to the header, since Bison adds
them itself since version 2.6.3.
Author: Dmitry Shachnev <mitya57@debian.org>
Forwarded: not-yet
Last-Update: 2020-08-04
--- a/Source/WebCore/css/makegrammar.pl
+++ b/Source/WebCore/css/makegrammar.pl
@@ -73,25 +73,6 @@ if ($suffix eq ".y.in") {
}
my $fileBase = File::Spec->join($outputDir, $filename);
-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
+my @bisonCommand = ($bison, "--defines=$fileBase.h", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives.
system(@bisonCommand) == 0 or die;
-
-open HEADER, ">$fileBase.h" or die;
-print HEADER << "EOF";
-#ifndef CSSGRAMMAR_H
-#define CSSGRAMMAR_H
-EOF
-
-open HPP, "<$fileBase.cpp.h" or open HPP, "<$fileBase.hpp" or die;
-while (<HPP>) {
- print HEADER;
-}
-close HPP;
-
-print HEADER "#endif\n";
-close HEADER;
-
-unlink("$fileBase.cpp.h");
-unlink("$fileBase.hpp");
-

11
qtwebkit-cstdint.patch Normal file
View File

@ -0,0 +1,11 @@
diff -up qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h.me qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h
--- qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h.me 2023-02-20 15:40:04.045911245 +0100
+++ qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h 2023-02-20 15:40:39.038549787 +0100
@@ -16,6 +16,7 @@
#include <algorithm>
#include <string.h>
#include <stdlib.h>
+#include <cstdint>
namespace gl
{

124
qtwebkit-icu68.patch Normal file
View File

@ -0,0 +1,124 @@
diff -Nur qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProvider.h qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProvider.h
--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProvider.h 2020-03-04 18:16:37.000000000 +0100
+++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProvider.h 2021-05-31 22:02:56.974163189 +0200
@@ -80,12 +80,12 @@
// Ensure chunk offset is well formed if computed offset exceeds int32_t range.
ASSERT(offset < std::numeric_limits<int32_t>::max());
text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
- isAccessible = TRUE;
+ isAccessible = true;
return true;
}
if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) {
text->chunkOffset = text->chunkLength;
- isAccessible = FALSE;
+ isAccessible = false;
return true;
}
} else {
@@ -94,12 +94,12 @@
// Ensure chunk offset is well formed if computed offset exceeds int32_t range.
ASSERT(offset < std::numeric_limits<int32_t>::max());
text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
- isAccessible = TRUE;
+ isAccessible = true;
return true;
}
if (nativeIndex <= 0 && !text->chunkNativeStart) {
text->chunkOffset = 0;
- isAccessible = FALSE;
+ isAccessible = false;
return true;
}
}
diff -Nur qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp 2020-03-04 18:16:37.000000000 +0100
+++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp 2021-05-31 22:02:56.974163189 +0200
@@ -100,23 +100,23 @@
if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) {
// Already inside the buffer. Set the new offset.
uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
- return TRUE;
+ return true;
}
if (index >= length && uText->chunkNativeLimit == length) {
// Off the end of the buffer, but we can't get it.
uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
- return FALSE;
+ return false;
}
} else {
if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) {
// Already inside the buffer. Set the new offset.
uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
- return TRUE;
+ return true;
}
if (!index && !uText->chunkNativeStart) {
// Already at the beginning; can't go any farther.
uText->chunkOffset = 0;
- return FALSE;
+ return false;
}
}
@@ -144,7 +144,7 @@
uText->nativeIndexingLimit = uText->chunkLength;
- return TRUE;
+ return true;
}
static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status)
@@ -336,7 +336,7 @@
static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
{
if (!text->context)
- return FALSE;
+ return false;
int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text);
UBool isAccessible;
if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
@@ -356,7 +356,7 @@
ASSERT(newContext == UTextProviderContext::PriorContext);
textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
}
- return TRUE;
+ return true;
}
static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
diff -Nur qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp 2020-03-04 18:16:37.000000000 +0100
+++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp 2021-05-31 22:02:56.974163189 +0200
@@ -125,7 +125,7 @@
static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
{
if (!text->context)
- return FALSE;
+ return false;
int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text);
UBool isAccessible;
if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
@@ -145,7 +145,7 @@
ASSERT(newContext == UTextProviderContext::PriorContext);
textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
}
- return TRUE;
+ return true;
}
static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
diff -Nur qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/TextCodecICU.cpp qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/TextCodecICU.cpp
--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/TextCodecICU.cpp 2020-03-04 18:16:37.000000000 +0100
+++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/TextCodecICU.cpp 2021-05-31 22:02:56.974163189 +0200
@@ -308,7 +308,7 @@
m_converterICU = ucnv_open(m_canonicalConverterName, &err);
ASSERT(U_SUCCESS(err));
if (m_converterICU)
- ucnv_setFallback(m_converterICU, TRUE);
+ ucnv_setFallback(m_converterICU, true);
}
int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err)

View File

@ -1,28 +0,0 @@
diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp
index 1bca2d0..19355f1 100644
--- a/Source/WebCore/dom/Document.cpp
+++ b/Source/WebCore/dom/Document.cpp
@@ -4407,12 +4407,12 @@ static bool isValidNameNonASCII(const UChar* characters, unsigned length)
unsigned i = 0;
UChar32 c;
- U16_NEXT(characters, i, length, c)
+ U16_NEXT(characters, i, length, c);
if (!isValidNameStart(c))
return false;
while (i < length) {
- U16_NEXT(characters, i, length, c)
+ U16_NEXT(characters, i, length, c);
if (!isValidNamePart(c))
return false;
}
@@ -4474,7 +4474,7 @@ bool Document::parseQualifiedName(const String& qualifiedName, String& prefix, S
for (unsigned i = 0; i < length;) {
UChar32 c;
- U16_NEXT(qualifiedName, i, length, c)
+ U16_NEXT(qualifiedName, i, length, c);
if (c == ':') {
if (sawColon) {
ec = NAMESPACE_ERR;

View File

@ -1 +1 @@
SHA512 (qtwebkit-5.212.0-alpha3.tar.xz) = 38794514b886de3fa63a41277c2bcbb970e87a12070962b527e3898466cf7ad3b65ce4588669498415d365310b37729e81aabb457808fe11120558ef8e35445f
SHA512 (qtwebkit-5.212.0-alpha4.tar.xz) = 33f11270bd030599beff9c1983a6c5ff2d61f407cc8a6825f7f405d46f9184c720fc7f60c7359f08f828db96a2170092875066a0d5c0a21ff09bc48a2603fbf6

View File

@ -0,0 +1,46 @@
From c7d19a492d97f9282a546831beb918e03315f6ef Mon Sep 17 00:00:00 2001
From: Adrian Perez de Castro <aperez@igalia.com>
Date: Wed, 15 Jan 2020 22:15:38 +0000
Subject: [PATCH] Offlineasm warnings with newer Ruby versions
https://bugs.webkit.org/show_bug.cgi?id=206233
Reviewed by Yusuke Suzuki.
Avoid a warning about using Object#=~ on Annotation instances, which
has been deprecated in Ruby 2.7.
* offlineasm/parser.rb: Swap checks to prevent applying the =~ operator
to Annotation instances, which do not define it.
Canonical link: https://commits.webkit.org/219400@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
Source/JavaScriptCore/ChangeLog | 13 +++++++++++++
Source/JavaScriptCore/offlineasm/parser.rb | 6 +++---
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/Source/JavaScriptCore/offlineasm/parser.rb b/Source/JavaScriptCore/offlineasm/parser.rb
index 791c81a9868d..f14c873e2dbd 100644
--- a/Source/JavaScriptCore/offlineasm/parser.rb
+++ b/Source/JavaScriptCore/offlineasm/parser.rb
@@ -628,9 +628,7 @@ def parseSequence(final, comment)
firstCodeOrigin = @tokens[@idx].codeOrigin
list = []
loop {
- if (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final)
- break
- elsif @tokens[@idx].is_a? Annotation
+ if @tokens[@idx].is_a? Annotation
# This is the only place where we can encounter a global
# annotation, and hence need to be able to distinguish between
# them.
@@ -644,6 +642,8 @@ def parseSequence(final, comment)
list << Instruction.new(codeOrigin, annotationOpcode, [], @tokens[@idx].string)
@annotation = nil
@idx += 2 # Consume the newline as well.
+ elsif (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final)
+ break
elsif @tokens[@idx] == "\n"
# ignore
@idx += 1