commit:     1e39f42e95f96eb7fbff4b8510d61f95d23afd0d
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu May 30 12:06:21 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu May 30 12:34:42 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e39f42e

dev-qt/qtwebengine: Fix build w/ ICU-75

Patch sourced from Arch Linux.

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../qtwebengine-5.15.14_p20240510-icu-75.patch     | 102 +++++++++++++++++++++
 .../qtwebengine-5.15.14_p20240510.ebuild           |   3 +
 2 files changed, 105 insertions(+)

diff --git 
a/dev-qt/qtwebengine/files/qtwebengine-5.15.14_p20240510-icu-75.patch 
b/dev-qt/qtwebengine/files/qtwebengine-5.15.14_p20240510-icu-75.patch
new file mode 100644
index 000000000000..d17e4ae602f2
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.14_p20240510-icu-75.patch
@@ -0,0 +1,102 @@
+Thanks to Arch Linux:
+https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/blob/main/qt5-webengine-icu-75.patch?ref_type=heads
+
+diff --git a/src/3rdparty/chromium/build/config/compiler/BUILD.gn 
b/src/3rdparty/chromium/build/config/compiler/BUILD.gn
+index b511a58c5a8..abd78a74ead 100644
+--- a/src/3rdparty/chromium/build/config/compiler/BUILD.gn
++++ b/src/3rdparty/chromium/build/config/compiler/BUILD.gn
+@@ -566,7 +566,7 @@ config("compiler") {
+       # Override Chromium's default for projects that wish to stay on C++11.
+       cflags_cc += [ "-std=${standard_prefix}++11" ]
+     } else {
+-      cflags_cc += [ "-std=${standard_prefix}++14" ]
++      cflags_cc += [ "-std=${standard_prefix}++17" ]
+     }
+   } else if (!is_win && !is_nacl) {
+     if (target_os == "android") {
+diff --git 
a/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
 
b/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
+index f03ba1e4ab4..b1495f7ae74 100644
+--- 
a/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
++++ 
b/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
+@@ -195,7 +195,7 @@ NumPartitionPagesPerSuperPage() {
+ //
+ // __STDCPP_DEFAULT_NEW_ALIGNMENT__ is C++17. As such, it is not defined on 
all
+ // platforms, as Chrome's requirement is C++14 as of 2020.
+-#if defined(__STDCPP_DEFAULT_NEW_ALIGNMENT__)
++#if 0
+ static constexpr size_t kAlignment =
+     std::max(alignof(std::max_align_t), __STDCPP_DEFAULT_NEW_ALIGNMENT__);
+ #else
+diff --git 
a/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h 
b/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h
+index 76e627d27a3..942435f44a0 100644
+--- a/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h
++++ b/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h
+@@ -12,6 +12,7 @@
+ #define COMMON_VIDEO_H264_SPS_PARSER_H_
+ 
+ #include "absl/types/optional.h"
++#include <cstdint>
+ 
+ namespace rtc {
+ class BitBuffer;
+diff --git 
a/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h 
b/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h
+index d6c31b06887..d8852dfd186 100644
+--- a/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h
++++ b/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h
+@@ -12,6 +12,7 @@
+ #define COMMON_VIDEO_H264_PPS_PARSER_H_
+ 
+ #include "absl/types/optional.h"
++#include <cstdint>
+ 
+ namespace rtc {
+ class BitBuffer;
+diff --git 
a/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
 
b/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
+index 3b9971abae1..d4458038527 100644
+--- 
a/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
++++ 
b/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
+@@ -13,6 +13,7 @@
+ 
+ #include <array>
+ #include <vector>
++#include <memory>
+ 
+ #include "absl/types/optional.h"
+ #include "api/array_view.h"
+diff --git 
a/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h
 
b/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h
+index 345e45ce127..e686e5d691a 100644
+--- 
a/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h
++++ 
b/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h
+@@ -12,6 +12,7 @@
+ #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
+ 
+ #include <limits>
++#include <cstdint>
+ 
+ #include "absl/types/optional.h"
+ 
+diff --git 
a/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc
 
b/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc
+index 8fcc799b795..bc69ddcf18c 100644
+--- 
a/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc
++++ 
b/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc
+@@ -15,6 +15,7 @@
+ #include 
"third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics.h"
+ #include 
"third_party/blink/renderer/core/page/scrolling/text_fragment_finder.h"
+ #include "third_party/blink/renderer/platform/text/text_boundaries.h"
++#include "absl/base/attributes.h"
+ 
+ namespace blink {
+ 
+diff --git a/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h 
b/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h
+index df506f0fae6..1de105fed4a 100644
+--- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h
++++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h
+@@ -180,7 +180,7 @@
+ // absl::variant is a typedef of std::variant, use the feature macro
+ // ABSL_USES_STD_VARIANT.
+ 
+-#define ABSL_OPTION_USE_STD_VARIANT 2
++#define ABSL_OPTION_USE_STD_VARIANT 0
+ 
+ 
+ // ABSL_OPTION_USE_INLINE_NAMESPACE

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.14_p20240510.ebuild 
b/dev-qt/qtwebengine/qtwebengine-5.15.14_p20240510.ebuild
index f8144c81c61d..a539a220cd4f 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.14_p20240510.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.14_p20240510.ebuild
@@ -173,6 +173,9 @@ src_prepare() {
                xargs sed -i -e 's|INCLUDEPATH += 
|&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
 
        if use system-icu; then
+               if has_version ">=dev-libs/icu-75.1"; then
+                       eapply 
"${FILESDIR}/${PN}-5.15.14_p20240510-icu-75.patch" # too invasive to apply 
unconditionally
+               fi
                # Sanity check to ensure that bundled copy of ICU is not used.
                # Whole src/3rdparty/chromium/third_party/icu directory cannot 
be deleted because
                # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by 
build system.

Reply via email to