From 14bbdcc0567223a4c96421ab2dfe2a668831ec98 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Fri, 27 Jan 2023 16:33:29 +0100 Subject: [PATCH] Fix build against GCC13 --- qt5-qtwebengine.spec | 2 + qtwebengine-fix-build.patch | 460 ++++++++++++++++++++++++++++++++++++ 2 files changed, 462 insertions(+) create mode 100644 qtwebengine-fix-build.patch diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index f405978..ff8e84b 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -118,6 +118,7 @@ Patch32: qtwebengine-skia-missing-includes.patch ## Cf. https://bugzilla.redhat.com/show_bug.cgi?id=2144200 ## From: https://chromium-review.googlesource.com/c/chromium/src/+/3545665 Patch33: qtwebengine-5.15-Backport-of-16k-page-support-on-aarch64.patch +Patch34: qtwebengine-fix-build.patch ## Upstream patches: @@ -448,6 +449,7 @@ popd %patch31 -p1 -b .TRUE %patch32 -p1 -b .skia-missing-includes %patch33 -p1 -b .aarch64-16kb-support +%patch34 -p1 -b .fix-build # delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we # never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS diff --git a/qtwebengine-fix-build.patch b/qtwebengine-fix-build.patch new file mode 100644 index 0000000..1f199e8 --- /dev/null +++ b/qtwebengine-fix-build.patch @@ -0,0 +1,460 @@ +diff --git a/src/3rdparty/chromium/base/debug/profiler.h b/src/3rdparty/chromium/base/debug/profiler.h +index 1229e0623..c7ed55e70 100644 +--- a/src/3rdparty/chromium/base/debug/profiler.h ++++ b/src/3rdparty/chromium/base/debug/profiler.h +@@ -5,6 +5,7 @@ + #ifndef BASE_DEBUG_PROFILER_H_ + #define BASE_DEBUG_PROFILER_H_ + ++#include + #include + + #include +diff --git a/src/3rdparty/chromium/cc/trees/target_property.cc b/src/3rdparty/chromium/cc/trees/target_property.cc +index ed2062557..036c870b2 100644 +--- a/src/3rdparty/chromium/cc/trees/target_property.cc ++++ b/src/3rdparty/chromium/cc/trees/target_property.cc +@@ -4,6 +4,10 @@ + + #include "cc/trees/target_property.h" + ++#include ++ ++#include ++ + namespace cc { + + static_assert(TargetProperty::LAST_TARGET_PROPERTY < kMaxTargetPropertyIndex, +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..b93843dc1 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 +@@ -5,6 +5,7 @@ + #ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_ + #define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_ + ++#include + #include + #include + #include "base/callback_forward.h" +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..d77be3f14 100644 +--- a/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc ++++ b/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc +@@ -4,6 +4,8 @@ + + #include "device/base/synchronization/one_writer_seqlock.h" + ++#include ++ + namespace device { + + OneWriterSeqLock::OneWriterSeqLock() : sequence_(0) {} +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..b64f82f75 100644 +--- a/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h ++++ b/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h +@@ -5,6 +5,7 @@ + #ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_ + #define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_ + ++#include + #include + #include + +diff --git a/src/3rdparty/chromium/extensions/common/constants.h b/src/3rdparty/chromium/extensions/common/constants.h +index 747906a06..fec888a11 100644 +--- a/src/3rdparty/chromium/extensions/common/constants.h ++++ b/src/3rdparty/chromium/extensions/common/constants.h +@@ -11,6 +11,8 @@ + #include "components/version_info/channel.h" + #include "ui/base/layout.h" + ++#include ++ + namespace extensions { + + // Scheme we serve extension content from. +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..8fa9fb1f6 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 +@@ -5,6 +5,8 @@ + #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/command_buffer/common/webgpu_cmd_format.h b/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h +index 286a41c43..25d2413df 100644 +--- a/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h ++++ b/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h +@@ -5,6 +5,7 @@ + #ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_FORMAT_H_ + #define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_FORMAT_H_ + ++#include + #include + + #include "gpu/command_buffer/common/gl2_types.h" +diff --git a/src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h b/src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h +index bcba574d5..f4916bed7 100644 +--- a/src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h ++++ b/src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h +@@ -5,6 +5,7 @@ + #ifndef GPU_COMMAND_BUFFER_SERVICE_SHARED_CONTEXT_STATE_H_ + #define GPU_COMMAND_BUFFER_SERVICE_SHARED_CONTEXT_STATE_H_ + ++#include + #include + #include + +diff --git a/src/3rdparty/chromium/gpu/config/device_perf_info.h b/src/3rdparty/chromium/gpu/config/device_perf_info.h +index e33874ba3..824a207a2 100644 +--- a/src/3rdparty/chromium/gpu/config/device_perf_info.h ++++ b/src/3rdparty/chromium/gpu/config/device_perf_info.h +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_DEVICE_PERF_INFO_H_ + #define GPU_CONFIG_DEVICE_PERF_INFO_H_ + ++#include + #include + #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..70759b2ae 100644 +--- a/src/3rdparty/chromium/gpu/config/gpu_feature_info.h ++++ b/src/3rdparty/chromium/gpu/config/gpu_feature_info.h +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_ + #define GPU_CONFIG_GPU_FEATURE_INFO_H_ + ++#include + #include + #include + +diff --git a/src/3rdparty/chromium/gpu/config/gpu_preferences.h b/src/3rdparty/chromium/gpu/config/gpu_preferences.h +index 6b8587151..e2bc6b90f 100644 +--- a/src/3rdparty/chromium/gpu/config/gpu_preferences.h ++++ b/src/3rdparty/chromium/gpu/config/gpu_preferences.h +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_GPU_PREFERENCES_H_ + #define GPU_CONFIG_GPU_PREFERENCES_H_ + ++#include + #include + #include + #include +diff --git a/src/3rdparty/chromium/gpu/config/gpu_util.h b/src/3rdparty/chromium/gpu/config/gpu_util.h +index b4d6dfb30..0dc300a9f 100644 +--- a/src/3rdparty/chromium/gpu/config/gpu_util.h ++++ b/src/3rdparty/chromium/gpu/config/gpu_util.h +@@ -5,6 +5,8 @@ + #ifndef GPU_CONFIG_GPU_UTIL_H_ + #define GPU_CONFIG_GPU_UTIL_H_ + ++#include ++ + #include "build/build_config.h" + #include "gpu/config/gpu_feature_info.h" + #include "gpu/gpu_export.h" +diff --git a/src/3rdparty/chromium/net/base/parse_number.h b/src/3rdparty/chromium/net/base/parse_number.h +index 0b4cfc1f8..55e9bfa8e 100644 +--- a/src/3rdparty/chromium/net/base/parse_number.h ++++ b/src/3rdparty/chromium/net/base/parse_number.h +@@ -9,6 +9,8 @@ + #include "base/strings/string_piece.h" + #include "net/base/net_export.h" + ++#include ++ + // This file contains utility functions for parsing numbers, in the context of + // network protocols. + // +diff --git a/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h b/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h +index 9e506b555..cfb03bfe2 100644 +--- a/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h ++++ b/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h +@@ -5,6 +5,7 @@ + #ifndef NET_COOKIES_COOKIE_INCLUSION_STATUS_H_ + #define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_ + ++#include + #include + #include + +diff --git a/src/3rdparty/chromium/pdf/document_attachment_info.h b/src/3rdparty/chromium/pdf/document_attachment_info.h +index 254398e62..22038e755 100644 +--- a/src/3rdparty/chromium/pdf/document_attachment_info.h ++++ b/src/3rdparty/chromium/pdf/document_attachment_info.h +@@ -7,6 +7,8 @@ + + #include "base/strings/string16.h" + ++#include ++ + namespace chrome_pdf { + + struct DocumentAttachmentInfo { +diff --git a/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h b/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h +index ac0b31a75..5d1c421d0 100644 +--- a/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h ++++ b/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h +@@ -38,6 +38,10 @@ namespace pp { + /// As a further optimization, we can add support for this later. + class ThreadSafeThreadTraits { + public: ++ ++ typedef pp::Lock Lock; ++ typedef pp::AutoLock AutoLock; ++ + class RefCount { + public: + /// Default constructor. In debug mode, this checks that the object is being +@@ -67,8 +71,6 @@ class ThreadSafeThreadTraits { + int32_t ref_; + }; + +- typedef pp::Lock Lock; +- typedef pp::AutoLock AutoLock; + }; + + /// The non-thread-safe version of thread traits. Using this class as the +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..6f1122c42 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 +@@ -19,6 +19,7 @@ + #include + + #include ++#include + #include + #include + +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..48b660db3 100644 +--- a/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h ++++ b/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h +@@ -12,6 +12,7 @@ + + #include + #include ++#include + #include + #include + +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..8f391fdd7 100644 +--- a/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h ++++ b/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h +@@ -15,6 +15,7 @@ + # include "absl/container/flat_hash_map.h" + #endif // defined(ANGLE_USE_ABSEIL) + ++#include + #include + #include + #include +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..e491a1f68 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 +@@ -33,6 +33,7 @@ + #include + #include + ++#include + #include + + #include "client/linux/handler/microdump_extra_info.h" +diff --git a/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc b/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc +index 8c8f4fe08..931782214 100644 +--- a/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc ++++ b/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + #include + #include + +diff --git a/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h b/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h +index d2731dac7..46bc87ef9 100644 +--- a/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h ++++ b/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h +@@ -5,6 +5,8 @@ + #ifndef CONSTANTS_ANNOTATION_FLAGS_H_ + #define CONSTANTS_ANNOTATION_FLAGS_H_ + ++#include ++ + namespace pdfium { + namespace annotation_flags { + +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..472042fab 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 +@@ -18,6 +18,7 @@ + #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_ + + #include ++#include + #include + + #include "perfetto/ext/base/optional.h" +diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h +index 74cc9583c..2a00b3b94 100644 +--- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h ++++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h +@@ -21,6 +21,8 @@ + #include "perfetto/trace_processor/status.h" + #include "src/trace_processor/trace_blob_view.h" + ++#include ++ + namespace perfetto { + + namespace protos { +diff --git a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp +index 503ed08ff..59c755b84 100644 +--- a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp ++++ b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp +@@ -12,6 +12,10 @@ + #include + #include + ++#include ++#include ++#include ++ + static constexpr const char* gColorNames[] = { + "aliceblue", + "antiquewhite", +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..3cfc8d6a3 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h ++++ b/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h +@@ -11,6 +11,7 @@ + #ifndef CALL_RTP_DEMUXER_H_ + #define CALL_RTP_DEMUXER_H_ + ++#include + #include + #include + #include +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..21951a1d2 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 +@@ -12,6 +12,7 @@ + #ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_ + #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_ + ++#include + #include + #include + +diff --git a/src/3rdparty/chromium/ui/events/gesture_event_details.h b/src/3rdparty/chromium/ui/events/gesture_event_details.h +index d20416738..8dadab3d0 100644 +--- a/src/3rdparty/chromium/ui/events/gesture_event_details.h ++++ b/src/3rdparty/chromium/ui/events/gesture_event_details.h +@@ -5,6 +5,7 @@ + #ifndef UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DETAILS_H_ + #define UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DETAILS_H_ + ++#include + #include + + #include "base/check_op.h" +diff --git a/src/3rdparty/chromium/ui/events/types/scroll_types.h b/src/3rdparty/chromium/ui/events/types/scroll_types.h +index 7ff15f0fc..136cebc09 100644 +--- a/src/3rdparty/chromium/ui/events/types/scroll_types.h ++++ b/src/3rdparty/chromium/ui/events/types/scroll_types.h +@@ -5,6 +5,8 @@ + #ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_ + #define UI_EVENTS_TYPES_SCROLL_TYPES_H_ + ++#include ++ + namespace ui { + + enum class ScrollGranularity : uint8_t { +diff --git a/src/3rdparty/chromium/ui/gl/gl_surface_glx.cc b/src/3rdparty/chromium/ui/gl/gl_surface_glx.cc +index 1d5527691..ef9d5ce13 100644 +--- a/src/3rdparty/chromium/ui/gl/gl_surface_glx.cc ++++ b/src/3rdparty/chromium/ui/gl/gl_surface_glx.cc +@@ -4,6 +4,7 @@ + + #include "ui/gl/gl_surface_glx.h" + ++#include + #include + + #include "base/bind.h" +diff --git a/src/3rdparty/chromium/ui/gl/gl_surface_glx.h b/src/3rdparty/chromium/ui/gl/gl_surface_glx.h +index ab612cd87..2178d8514 100644 +--- a/src/3rdparty/chromium/ui/gl/gl_surface_glx.h ++++ b/src/3rdparty/chromium/ui/gl/gl_surface_glx.h +@@ -5,6 +5,7 @@ + #ifndef UI_GL_GL_SURFACE_GLX_H_ + #define UI_GL_GL_SURFACE_GLX_H_ + ++#include + #include + + #include +diff --git a/src/3rdparty/chromium/v8/src/base/logging.h b/src/3rdparty/chromium/v8/src/base/logging.h +index fe39f9882..dbe130581 100644 +--- a/src/3rdparty/chromium/v8/src/base/logging.h ++++ b/src/3rdparty/chromium/v8/src/base/logging.h +@@ -5,6 +5,7 @@ + #ifndef V8_BASE_LOGGING_H_ + #define V8_BASE_LOGGING_H_ + ++#include + #include + #include + #include +diff --git a/src/3rdparty/chromium/v8/src/base/macros.h b/src/3rdparty/chromium/v8/src/base/macros.h +index 37cab78f0..4220eacbb 100644 +--- a/src/3rdparty/chromium/v8/src/base/macros.h ++++ b/src/3rdparty/chromium/v8/src/base/macros.h +@@ -5,6 +5,7 @@ + #ifndef V8_BASE_MACROS_H_ + #define V8_BASE_MACROS_H_ + ++#include + #include + #include + +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..eb33c6816 100644 +--- a/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h ++++ b/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h +@@ -5,6 +5,7 @@ + #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + ++#include + #include + + // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may +diff --git a/src/core/browsing_data_remover_delegate_qt.h b/src/core/browsing_data_remover_delegate_qt.h +index a10409f39..b9f5e59d8 100644 +--- a/src/core/browsing_data_remover_delegate_qt.h ++++ b/src/core/browsing_data_remover_delegate_qt.h +@@ -42,6 +42,8 @@ + + #include "content/public/browser/browsing_data_remover_delegate.h" + ++#include ++ + namespace QtWebEngineCore { + + class BrowsingDataRemoverDelegateQt : public content::BrowsingDataRemoverDelegate {