commit:     61e5cb157d2f015ab9a730e3eaf11d4ee14b4ab4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 27 11:30:22 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 27 12:47:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61e5cb15

dev-qt/qtwebengine: fix build w/ gcc-13

Bug: https://bugs.gentoo.org/898634
Closes: https://bugs.gentoo.org/889724
Closes: https://bugs.gentoo.org/895196
Closes: https://bugs.gentoo.org/898902
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/qtwebengine-5.15.8_p20230112-gcc13.patch | 431 +++++++++++++++++++++
 .../qtwebengine-5.15.8_p20230112.ebuild            |   1 +
 2 files changed, 432 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230112-gcc13.patch 
b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230112-gcc13.patch
new file mode 100644
index 000000000000..b9df5b0fe445
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230112-gcc13.patch
@@ -0,0 +1,431 @@
+Upstream:
+- https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/468198
+
+Gentoo bugs:
+- https://bugs.gentoo.org/889724
+- https://bugs.gentoo.org/895196
+- https://bugs.gentoo.org/898902
+- https://bugs.gentoo.org/898634 (bundled abseil)
+
+Based on the following from Fedora:
+- 
https://src.fedoraproject.org/rpms/qt5-qtwebengine/c/14bbdcc0567223a4c96421ab2dfe2a668831ec98?branch=rawhide
+- 
https://src.fedoraproject.org/rpms/qt5-qtwebengine/c/9a37c86a90d1d3c0684aa1428657fc7ed22390ac?branch=rawhide
+- 
https://src.fedoraproject.org/rpms/qt5-qtwebengine/c/5dc49e01024ab2adae3705d14a9be76d706b7e52?branch=rawhide
+- Whole thing: 
https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/rawhide/f/qtwebengine-fix-build.patch
+--- 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 <cstdint>
+ #include <stddef.h>
+ 
+ #include <string>
+--- a/src/3rdparty/chromium/base/debug/stack_trace.h
++++ b/src/3rdparty/chromium/base/debug/stack_trace.h
+@@ -7,6 +7,7 @@
+ 
+ #include <stddef.h>
+ 
++#include <cstdint>
+ #include <iosfwd>
+ #include <string>
+ 
+--- a/src/3rdparty/chromium/cc/trees/target_property.cc
++++ b/src/3rdparty/chromium/cc/trees/target_property.cc
+@@ -4,6 +4,8 @@
+ 
+ #include "cc/trees/target_property.h"
+ 
++#include <cstdint>
++
+ namespace cc {
+ 
+ static_assert(TargetProperty::LAST_TARGET_PROPERTY < kMaxTargetPropertyIndex,
+--- 
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 <cstdint>
+ #include <string>
+ #include <vector>
+ #include "base/callback_forward.h"
+--- 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 <cstdint>
++
+ namespace device {
+ 
+ OneWriterSeqLock::OneWriterSeqLock() : sequence_(0) {}
+--- 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 <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- 
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
+@@ -5,6 +5,7 @@
+ #ifndef EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
+ #define EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
+ 
++#include <cstdint>
+ #include <map>
+ #include <string>
+ 
+--- 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 <cstdint>
++
+ namespace extensions {
+ 
+ // Scheme we serve extension content from.
+--- 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 <cstdint>
++
+ namespace gpu {
+ namespace webgpu {
+ 
+--- 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 <cstdint>
+ #include <string.h>
+ 
+ #include "gpu/command_buffer/common/gl2_types.h"
+--- 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 <cstdint>
+ #include <memory>
+ #include <vector>
+ 
+--- 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 <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- 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 <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- 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 <cstdint>
+ #include <stddef.h>
+ #include <string>
+ #include <vector>
+--- 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 <cstdint>
++
+ #include "build/build_config.h"
+ #include "gpu/config/gpu_feature_info.h"
+ #include "gpu/gpu_export.h"
+--- 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 <cstdint>
++
+ // This file contains utility functions for parsing numbers, in the context of
+ // network protocols.
+ //
+--- 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 <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- 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 <cstdint>
++
+ namespace chrome_pdf {
+ 
+ struct DocumentAttachmentInfo {
+--- 
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
+--- 
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 <limits.h>
+ 
+ #include <cstddef>
++#include <cstdint>
+ #include <cstring>
+ #include <ostream>
+ 
+--- 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 <algorithm>
+ #include <array>
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- 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 <cstdint>
+ #include <climits>
+ #include <cstdarg>
+ #include <cstddef>
+--- 
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 <assert.h>
+ #include <sys/types.h>
+ 
++#include <cstdint>
+ #include <string>
+ 
+ #include "client/linux/handler/microdump_extra_info.h"
+--- 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 <cstddef>
+ #include <cstdint>
+ #include <cstring>
++#include <cstdio>
+ #include <new>
+ #include <utility>
+ 
+--- 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 <cstdint>
++
+ namespace pdfium {
+ namespace annotation_flags {
+ 
+--- 
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 <array>
++#include <cstdint>
+ #include <string>
+ 
+ #include "perfetto/ext/base/optional.h"
+--- 
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 <cstdint>
++
+ namespace perfetto {
+ 
+ namespace protos {
+--- a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
++++ b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
+@@ -9,6 +9,9 @@
+ #include "include/utils/SkParse.h"
+ 
+ #include <algorithm> // std::lower_bound
++#include <algorithm>
++#include <cstring>
++#include <iterator>
+ 
+ static constexpr const char* gColorNames[] = {
+     "aliceblue",
+--- 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 <cstdint>
+ #include <map>
+ #include <set>
+ #include <string>
+--- 
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 <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- a/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml
++++ b/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml
+@@ -89,7 +89,7 @@ OF THIS SOFTWARE.
+     </reply>
+   </request>
+ 
+-  <request name="Pixmap" opcode="1">
++  <request name="PresentPixmap" opcode="1">
+     <required_start_align align="8" />
+     <field type="WINDOW" name="window" />
+     <field type="PIXMAP" name="pixmap" />
+--- 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 <cstdint>
+ #include <string.h>
+ 
+ #include "base/check_op.h"
+--- 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 <cstdint>
++
+ namespace ui {
+ 
+ enum class ScrollGranularity : uint8_t {
+--- 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 <cstdint>
+ #include <utility>
+ 
+ #include "base/bind.h"
+--- 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 <cstdint>
+ #include <stdint.h>
+ 
+ #include <memory>
+--- 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 <cstdint>
+ #include <cstring>
+ #include <sstream>
+ #include <string>
+--- 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 <cstdint>
+ #include <limits>
+ #include <type_traits>
+ 
+--- 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 <cstdint>
+ #include <string>
+ 
+ // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You 
may
+--- 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 <cstdint>
++
+ namespace QtWebEngineCore {
+ 
+ class BrowsingDataRemoverDelegateQt : public 
content::BrowsingDataRemoverDelegate {
+

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230112.ebuild 
b/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230112.ebuild
index eacf340d227b..a9eb384e9067 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230112.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230112.ebuild
@@ -114,6 +114,7 @@ PATCHES=(
        "${WORKDIR}/${PN}-5.15.3_p20220406-patchset" # bug 698988 (py2--), 
pipewire-3
        "${FILESDIR}/${PN}-5.15.8_p20230106-v8-opcode-constexpr.patch" # bug 
889042
        "${FILESDIR}/${PN}-5.15.8_p20230106-widevine.patch" # bug 888783
+       "${FILESDIR}/${PN}-5.15.8_p20230112-gcc13.patch" # bug 889724, bug 
895196, bug 898902, bug 898634
 )
 
 qtwebengine_check-reqs() {

Reply via email to