From 50ce0546ed497d22335e6b7912d12024de9b8f41 Mon Sep 17 00:00:00 2001 From: laokz Date: Tue, 4 Nov 2025 13:24:35 +0800 Subject: [PATCH] Adapt to gcc14 https://gcc.gnu.org/gcc-14/porting_to.html#header-dep-changes --- adapt-to-gcc14.patch | 265 +++++++++++++++++++++++++++++++++++++++++++ qt5-qtwebengine.spec | 7 +- riscv-v8.patch | 4 +- 3 files changed, 273 insertions(+), 3 deletions(-) create mode 100644 adapt-to-gcc14.patch diff --git a/adapt-to-gcc14.patch b/adapt-to-gcc14.patch new file mode 100644 index 0000000..abe9f73 --- /dev/null +++ b/adapt-to-gcc14.patch @@ -0,0 +1,265 @@ +diff --git a/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h b/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h +index 3896bc6e7..43043ace2 100644 +--- a/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h ++++ b/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h +@@ -8,6 +8,7 @@ + #include + #include + #include "base/callback_forward.h" ++#include + + namespace base { + class Time; +diff --git a/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc b/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc +index 213b6301c..9332e37e6 100644 +--- a/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc ++++ b/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc +@@ -3,6 +3,7 @@ + // found in the LICENSE file. + + #include "device/base/synchronization/one_writer_seqlock.h" ++#include + + namespace device { + +diff --git a/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h b/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h +index 0c27ae710..fbba21823 100644 +--- a/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h ++++ b/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h +@@ -9,6 +9,7 @@ + #include + + #include "build/build_config.h" ++#include + + #if defined(OS_WIN) + #include +diff --git a/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h b/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h +index 9d2858177..dcdbfb53d 100644 +--- a/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h ++++ b/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h +@@ -7,6 +7,7 @@ + + #include + #include ++#include + + #include "base/macros.h" + +diff --git a/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h b/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h +index 83615b30c..f8b89ee09 100644 +--- a/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h ++++ b/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h +@@ -4,6 +4,7 @@ + + #ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_ + #define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_ ++#include + + namespace gpu { + namespace webgpu { +diff --git a/src/3rdparty/chromium/gpu/config/device_perf_info.h b/src/3rdparty/chromium/gpu/config/device_perf_info.h +index e33874ba3..14efb249a 100644 +--- a/src/3rdparty/chromium/gpu/config/device_perf_info.h ++++ b/src/3rdparty/chromium/gpu/config/device_perf_info.h +@@ -11,6 +11,7 @@ + #include "base/optional.h" + #include "build/build_config.h" + #include "gpu/gpu_export.h" ++#include + + #if defined(OS_WIN) + #include +diff --git a/src/3rdparty/chromium/gpu/config/gpu_feature_info.h b/src/3rdparty/chromium/gpu/config/gpu_feature_info.h +index 027f1a5af..e5def1e8d 100644 +--- a/src/3rdparty/chromium/gpu/config/gpu_feature_info.h ++++ b/src/3rdparty/chromium/gpu/config/gpu_feature_info.h +@@ -10,6 +10,7 @@ + + #include "gpu/config/gpu_feature_type.h" + #include "gpu/gpu_export.h" ++#include + + namespace gfx { + enum class BufferFormat; +diff --git a/src/3rdparty/chromium/gpu/config/gpu_preferences.h b/src/3rdparty/chromium/gpu/config/gpu_preferences.h +index 6b8587151..433184e68 100644 +--- a/src/3rdparty/chromium/gpu/config/gpu_preferences.h ++++ b/src/3rdparty/chromium/gpu/config/gpu_preferences.h +@@ -17,6 +17,7 @@ + + #if defined(USE_OZONE) + #include "base/message_loop/message_pump_type.h" ++#include + #endif + + namespace gpu { +diff --git a/src/3rdparty/chromium/gpu/config/gpu_util.h b/src/3rdparty/chromium/gpu/config/gpu_util.h +index b4d6dfb30..f6d988461 100644 +--- a/src/3rdparty/chromium/gpu/config/gpu_util.h ++++ b/src/3rdparty/chromium/gpu/config/gpu_util.h +@@ -7,6 +7,7 @@ + + #include "build/build_config.h" + #include "gpu/config/gpu_feature_info.h" ++#include + #include "gpu/gpu_export.h" + + namespace base { +diff --git a/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h b/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h +index 9e506b555..0f191317b 100644 +--- a/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h ++++ b/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h +@@ -9,6 +9,7 @@ + #include + + #include "net/base/net_export.h" ++#include + + class GURL; + +diff --git a/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +index a9b9e137d..91001c69c 100644 +--- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h ++++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +@@ -26,6 +26,7 @@ + #include "absl/base/port.h" + #include "absl/meta/type_traits.h" + #include "absl/strings/internal/str_format/output.h" ++#include + #include "absl/strings/string_view.h" + + namespace absl { +diff --git a/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h b/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h +index 9911546b9..a7cdaf5a7 100644 +--- a/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h ++++ b/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + // This type is defined here to simplify ANGLE's integration with glslang for SPIRv. + using ShCompileOptions = uint64_t; +diff --git a/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h b/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h +index f669d7df3..15760cfbb 100644 +--- a/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h ++++ b/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + // A helper class to disallow copy and assignment operators + namespace angle +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h +index c7e4f2b37..799f6a734 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h +@@ -37,6 +37,7 @@ + + #include "client/linux/handler/microdump_extra_info.h" + #include "common/using_std_string.h" ++#include + + // This class describes how a crash dump should be generated, either: + // - Writing a full minidump to a file in a given directory (the actual path, +diff --git a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h +index 1b4c53815..af44de155 100644 +--- a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h ++++ b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h +@@ -21,6 +21,7 @@ + #include + + #include "perfetto/ext/base/optional.h" ++#include + + namespace perfetto { + namespace base { +diff --git a/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h b/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h +index 3aa7e9df2..ce205b332 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h ++++ b/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + + namespace webrtc { + +diff --git a/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h b/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h +index 7a936f23e..63898bf38 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h ++++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h +@@ -16,6 +16,7 @@ + #include + + #include "rtc_base/system/rtc_export.h" ++#include + + namespace rtc { + +diff --git a/src/3rdparty/chromium/ui/events/types/scroll_types.h b/src/3rdparty/chromium/ui/events/types/scroll_types.h +index 7ff15f0fc..c9227cb9b 100644 +--- a/src/3rdparty/chromium/ui/events/types/scroll_types.h ++++ b/src/3rdparty/chromium/ui/events/types/scroll_types.h +@@ -4,6 +4,7 @@ + + #ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_ + #define UI_EVENTS_TYPES_SCROLL_TYPES_H_ ++#include + + namespace ui { + +diff --git a/src/3rdparty/chromium/ui/gfx/x/BUILD.gn b/src/3rdparty/chromium/ui/gfx/x/BUILD.gn +index 46d25b287..49d9a7204 100644 +--- a/src/3rdparty/chromium/ui/gfx/x/BUILD.gn ++++ b/src/3rdparty/chromium/ui/gfx/x/BUILD.gn +@@ -17,6 +17,7 @@ config("x11_private_config") { + # generator to determine which fields are used and keeping only + # those, simply ignore unused variable warnings. + "-Wno-unused-variable", ++"-Wno-changes-meaning", + ] + defines = [ "IS_X11_IMPL" ] + } +diff --git a/src/3rdparty/chromium/v8/src/base/logging.h b/src/3rdparty/chromium/v8/src/base/logging.h +index fe39f9882..62c2a9ea7 100644 +--- a/src/3rdparty/chromium/v8/src/base/logging.h ++++ b/src/3rdparty/chromium/v8/src/base/logging.h +@@ -13,6 +13,7 @@ + #include "src/base/build_config.h" + #include "src/base/compiler-specific.h" + #include "src/base/template-utils.h" ++#include + + V8_BASE_EXPORT V8_NOINLINE void V8_Dcheck(const char* file, int line, + const char* message); +diff --git a/src/3rdparty/chromium/v8/src/base/macros.h b/src/3rdparty/chromium/v8/src/base/macros.h +index 5b100ebeb..6c59e1778 100644 +--- a/src/3rdparty/chromium/v8/src/base/macros.h ++++ b/src/3rdparty/chromium/v8/src/base/macros.h +@@ -10,6 +10,7 @@ + + #include "src/base/compiler-specific.h" + #include "src/base/logging.h" ++#include + + // No-op macro which is used to work around MSVC's funky VA_ARGS support. + #define EXPAND(x) x + +diff --git a/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h b/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h +index c1d69c18f..66b3564cc 100644 +--- a/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h ++++ b/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h +@@ -6,6 +6,7 @@ + #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + + #include ++#include + + // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may + // want to use string-16.h directly rather than these. diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index 3de03e1..a41ce67 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -52,7 +52,7 @@ Summary: Qt5 - QtWebEngine components Name: qt5-qtwebengine Version: 5.15.10 -Release: 8 +Release: 9 # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html @@ -122,6 +122,7 @@ Patch52: chromium-python3.patch Patch53: fix-build-tools-to-run-with-python3.11.patch # bit-field.h:43:29: error: integer value 7 is outside the valid range of values [0, 3] for the enumeration type 'Kind' Patch54: fix-qt5-qtwebengine-build-with-clang-17.patch +Patch55: adapt-to-gcc14.patch # riscv64 support patch from Arch Linux Patch1000: riscv-v8.patch @@ -455,6 +456,7 @@ popd %patch52 -p1 -b .chromium-python3 %patch53 -p1 -b .fix-build-tools-to-run-with-python3.11 %patch54 -p1 -b .fix-qt5-qtwebengine-build-with-clang-17 +%patch55 -p1 %ifarch riscv64 %patch1000 -p1 -b .riscv-v8 @@ -698,6 +700,9 @@ done %changelog +* Tue Nov 04 2025 laokz - 5.15.10-9 +- adapt to gcc14 + * Thu Oct 16 2025 mahailiang - 5.15.10-8 - add support for sw_64 diff --git a/riscv-v8.patch b/riscv-v8.patch index bc7870a..99fb266 100644 --- a/riscv-v8.patch +++ b/riscv-v8.patch @@ -348,9 +348,9 @@ Index: qtwebengine-everywhere-src-5.15.3/src/3rdparty/chromium/v8/src/base/macro =================================================================== --- qtwebengine-everywhere-src-5.15.3.orig/src/3rdparty/chromium/v8/src/base/macros.h +++ qtwebengine-everywhere-src-5.15.3/src/3rdparty/chromium/v8/src/base/macros.h -@@ -11,6 +11,8 @@ - #include "src/base/compiler-specific.h" +@@ -12,6 +12,8 @@ #include "src/base/logging.h" + #include +#define DEBUG_PRINTF(...) if (FLAG_debug_riscv) { printf(__VA_ARGS__); } + -- Gitee