This commit is contained in:
Mario Fetka
2025-06-06 03:35:14 +02:00
parent b56141d74d
commit 0dba7be35f
91 changed files with 5377 additions and 809 deletions

View File

@@ -0,0 +1,12 @@
AUX qt5-webengine-ninja-1.12.patch 512 BLAKE2B 9bd8a09d818f0fbe911182e1ae0b57f45c85f7087bc8cbca7bb52215b1e300b2ac81117742e0a345de302d0fa8d99bee6ac0761f574c83fe387d660941b082bc SHA512 e8ab97a38c8ed6cce288e4416fb2fe4c2412c89478b173c5265e894a084b955f1877fbd48e54b28b2b6c717e3cde08f03d6d98a4d8ec3ecc858dc7e38c80a06b
AUX qtwebengine-5.15.13_p20240510-gcc15.patch 1308 BLAKE2B d206c6df9b88f706ade2f501548d880692ac032dd4767a279faf90e546eca9390f7a4c89f2fd23cc7d9e865bc27b0da398c60de2440ba1cd0a10cb5ccfb86e28 SHA512 fb5162c3ea8865fc81762c5571ddc63efac89dbcb6029a1b749a07f5944cf9007d92a24b764459301a1292ccbc057bee415f5dd86c75ae2a53981bad31e4e148
AUX qtwebengine-5.15.14_p20240510-gcc15-cstdint.patch 5506 BLAKE2B 2e31854e3beef5f25300a9b12158e9eabb674d54c07b563a4a7ffafe5c06dabdd808a776d4155f23ee7f0a917970d614f9060428ba8613d6cf15228bfc9d6b4c SHA512 e536d79f8841816858b5bd92adba6a862bce7149cc66c010885b82c8c92502a81e3fdb0038b21eafbdf046432a3b2c4c95b0352a608c0a99d0868813d56f00aa
AUX qtwebengine-5.15.14_p20240510-gcc15-template-id-cdtor.patch 3299 BLAKE2B 2809e25858ac17f776bd20fdcbc4c8b658b7f2587390dfbce133939ddd11134a71b6f139f39b9bf46a5e99a7d8335d5242d3a2caad832e6252d817504b6e6e12 SHA512 cbef06092de6337b4559d44443947e9578d127f4d319027550de7c4289665e0d516e5229cc0f9a0855691ceb62cdd32fb5a5fb88ff6cfbe28e1985aae9828ed7
AUX qtwebengine-5.15.14_p20240510-icu-75.patch 5107 BLAKE2B fc61801f5bbf5583610afe5af8ed60a90f94a248c0aa16b94f6df96e239e9c1cfe1fc40da487d3a25fc600a798b33c5bf8384c6d6cfcd0ff9446c20aae5f8f84 SHA512 b812dc26e6135cd69df9ef3b9049509be9888e012394af3c496b03666e80c63f4c827916398d94f7499f73739ca70829108b60705d5b2329f3134dd695a029eb
AUX qtwebengine-5.15.14_p20240510-re2.patch 915 BLAKE2B a29abbec923f78dd7baafdc36b42ed9e0467885ecc04349cbbcec6727628627e84e0172f01e24b34c231d437b75f992b7a173532695085773d899dc94085c66b SHA512 45af510bafc1c838fe273652813d4130ecdef30152f57506b5b6580131cdbcf510acc5ae7bb8d44ac90072c8be7d75b4e0c187240a6522e184db8a11a204f2fc
AUX qtwebengine-5.15.16_p20241115-py3.13-pipes.patch 848 BLAKE2B 7696eaf565511adcac5e74f7788633d1e83a88079548f1069c840da40e3ec5fef5fbfa0c019234a40dde14f6f43249792ad1bfc3d2ee8e5669d7fde7234a7ad2 SHA512 79588891105d8dce27e273d4113c31352c6b1035762ea6b1211be5f58299d9e2852b0b98bad34492d9af85e3ae1ca87407ffbf190159d64b0c6d7ba49e842bf8
AUX qtwebengine-5.15.17-py3.13-pipes.patch 848 BLAKE2B 7696eaf565511adcac5e74f7788633d1e83a88079548f1069c840da40e3ec5fef5fbfa0c019234a40dde14f6f43249792ad1bfc3d2ee8e5669d7fde7234a7ad2 SHA512 79588891105d8dce27e273d4113c31352c6b1035762ea6b1211be5f58299d9e2852b0b98bad34492d9af85e3ae1ca87407ffbf190159d64b0c6d7ba49e842bf8
AUX qtwebengine-5.15.2_p20210521-clang-libc++.patch 358 BLAKE2B a03de632ac4e01cf56c52af3a3bd5ff5bcfd525c67bf2e5d960904a9f3b53e1fa18f0e0df380c0cf84f17914fb313a028e26efaefe6ab5057f0d9a9cf2f6f0fd SHA512 6dc3864064d6084e70d4696fda744701c293ee62e9c9088e3247988ffb8085f30c632e94ac19aef715cbd211b21dfcb98691d5809e21cffd9f04bbb8b04cf0da
DIST qtwebengine-5.15.14_p20240510-patchset.tar.xz 20780 BLAKE2B 516d4c628c4b027ab3a7159da006a57173be91de3eb4b7f308029953d4fd19fb3e790ca38e79d17fef75d8d9b392676650acb9285d5913f9ebecaa4136575c47 SHA512 492979d118d6bd9165ee194724e38b627d19c89dbe1daa6b2f55e4a8fc7676748a1eacb9623ee05e09140c2c4a2ac82ddafaef5c45630a117ce0ed14b240a474
DIST qtwebengine-everywhere-opensource-src-5.15.17.tar.xz 319675412 BLAKE2B eca642f2fe3dc0a648f1645aa3ae7ca86dee8abd3cb8853a6ad7e200171f7c45d88dbdba05f820771de7607647b7626267f4e1af17d8e2bc4f0184899c2c09a6 SHA512 4ca5ac97e35f195350da6485a7e53e648723ef5a4e91acf58985eb6957b89acc7f9bac53035eee228fd6a4144a2ba7f93a1a96fd0a501e817b2460fe8faf6bd7
EBUILD qtwebengine-5.15.17.ebuild 8143 BLAKE2B 869eb1f18cf28280d178a4723b133b876d67770ea13d1d49d4a0beb1bfe07f53f44ac95ddc8f9d4535300bb815618a02de90282c85c774697a7163e97b56633e SHA512 800b5b84a6601573119048a303bbfcb056675e6675d22d8b0bf46c8049fb8de8b6f0f95e027ac3870e875f5fc6833c31fee96f89c512ab9113dd9e5fd28394eb

View File

@@ -0,0 +1,12 @@
diff --git a/chromium/content/public/browser/BUILD.gn b/chromium/content/public/browser/BUILD.gn
index 7cf82a4aacf..0e0dda2c3ca 100644
--- a/chromium/content/public/browser/BUILD.gn
+++ b/src/3rdparty/chromium/content/public/browser/BUILD.gn
@@ -469,6 +469,7 @@ jumbo_source_set("browser_sources") {
"//build:chromeos_buildflags",
"//cc",
"//components/viz/host",
+ "//components/spellcheck:buildflags",
"//content/browser", # Must not be public_deps!
"//device/fido",
"//gpu",

View File

@@ -0,0 +1,35 @@
https://bugs.gentoo.org/936416
Backport of two upstream commits:
* https://chromium-review.googlesource.com/c/chromium/src/+/5512719
* https://quiche.googlesource.com/quiche/+/c1af894e0f5c4f732a983e7c93227854e203570e%5E%21/#F0
--- a/src/3rdparty/chromium/base/containers/id_map.h
+++ b/src/3rdparty/chromium/base/containers/id_map.h
@@ -153,8 +153,8 @@ class IDMap final {
}
const Iterator& operator=(const Iterator& iter) {
- map_ = iter.map;
- iter_ = iter.iter;
+ map_ = iter.map_;
+ iter_ = iter.iter_;
Init();
return *this;
}
--- a/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_interval_deque.h
+++ b/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_interval_deque.h
@@ -198,12 +198,12 @@ class QUIC_NO_EXPORT QuicIntervalDeque {
Iterator operator+(difference_type amount) const {
Iterator copy = *this;
copy.index_ += amount;
- DCHECK(copy.index_ < copy.deque_->size());
+ DCHECK(copy.index_ < copy.deque_->Size());
return copy;
}
Iterator& operator+=(difference_type amount) {
index_ += amount;
- DCHECK(index_ < deque_->size());
+ DCHECK(index_ < deque_->Size());
return *this;
}
difference_type operator-(const Iterator& rhs) const {

View File

@@ -0,0 +1,170 @@
--- a/src/3rdparty/chromium/third_party/webrtc/api/task_queue/task_queue_base.h
+++ b/src/3rdparty/chromium/third_party/webrtc/api/task_queue/task_queue_base.h
@@ -10,6 +10,7 @@
#ifndef API_TASK_QUEUE_TASK_QUEUE_BASE_H_
#define API_TASK_QUEUE_TASK_QUEUE_BASE_H_
+#include <cstdint>
#include <memory>
#include "api/task_queue/queued_task.h"
--- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/gzip/gzip_utils.h
+++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/gzip/gzip_utils.h
@@ -17,6 +17,7 @@
#ifndef SRC_TRACE_PROCESSOR_IMPORTERS_GZIP_GZIP_UTILS_H_
#define SRC_TRACE_PROCESSOR_IMPORTERS_GZIP_GZIP_UTILS_H_
+#include <cstdint>
#include <memory>
struct z_stream_s;
--- a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/tracing/core/slice.h
+++ b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/tracing/core/slice.h
@@ -20,6 +20,7 @@
#include <stddef.h>
#include <string.h>
+#include <cstdint>
#include <memory>
#include <string>
#include <vector>
--- a/src/3rdparty/chromium/cc/input/main_thread_scrolling_reason.h
+++ b/src/3rdparty/chromium/cc/input/main_thread_scrolling_reason.h
@@ -5,6 +5,7 @@
#ifndef CC_INPUT_MAIN_THREAD_SCROLLING_REASON_H_
#define CC_INPUT_MAIN_THREAD_SCROLLING_REASON_H_
+#include <cstdint>
#include <memory>
#include <string>
#include "cc/cc_export.h"
--- a/src/3rdparty/chromium/gpu/command_buffer/common/skia_utils.h
+++ b/src/3rdparty/chromium/gpu/command_buffer/common/skia_utils.h
@@ -5,6 +5,7 @@
#ifndef GPU_COMMAND_BUFFER_COMMON_SKIA_UTILS_H_
#define GPU_COMMAND_BUFFER_COMMON_SKIA_UTILS_H_
+#include <cstdint>
#include <memory>
#include "base/optional.h"
--- a/src/3rdparty/chromium/gpu/command_buffer/service/gpu_fence_manager.h
+++ b/src/3rdparty/chromium/gpu/command_buffer/service/gpu_fence_manager.h
@@ -5,6 +5,7 @@
#ifndef GPU_COMMAND_BUFFER_SERVICE_GPU_FENCE_MANAGER_H_
#define GPU_COMMAND_BUFFER_SERVICE_GPU_FENCE_MANAGER_H_
+#include <cstdint>
#include <memory>
#include <vector>
--- a/src/3rdparty/chromium/net/tools/huffman_trie/trie_entry.h
+++ b/src/3rdparty/chromium/net/tools/huffman_trie/trie_entry.h
@@ -5,6 +5,7 @@
#ifndef NET_TOOLS_HUFFMAN_TRIE_TRIE_ENTRY_H_
#define NET_TOOLS_HUFFMAN_TRIE_TRIE_ENTRY_H_
+#include <cstdint>
#include <memory>
#include <string>
#include <vector>
--- a/src/3rdparty/chromium/third_party/pdfium/core/fpdfapi/page/cpdf_function.h
+++ b/src/3rdparty/chromium/third_party/pdfium/core/fpdfapi/page/cpdf_function.h
@@ -7,6 +7,7 @@
#ifndef CORE_FPDFAPI_PAGE_CPDF_FUNCTION_H_
#define CORE_FPDFAPI_PAGE_CPDF_FUNCTION_H_
+#include <cstdint>
#include <memory>
#include <set>
#include <vector>
--- a/src/3rdparty/chromium/third_party/pdfium/core/fxcodec/jbig2/JBig2_DocumentContext.h
+++ b/src/3rdparty/chromium/third_party/pdfium/core/fxcodec/jbig2/JBig2_DocumentContext.h
@@ -7,6 +7,7 @@
#ifndef CORE_FXCODEC_JBIG2_JBIG2_DOCUMENTCONTEXT_H_
#define CORE_FXCODEC_JBIG2_JBIG2_DOCUMENTCONTEXT_H_
+#include <cstdint>
#include <list>
#include <memory>
#include <utility>
--- a/src/3rdparty/chromium/third_party/pdfium/third_party/base/span.h
+++ b/src/3rdparty/chromium/third_party/pdfium/third_party/base/span.h
@@ -9,6 +9,7 @@
#include <algorithm>
#include <array>
+#include <cstdint>
#include <iterator>
#include <type_traits>
#include <utility>
--- a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/tracing_backend.h
+++ b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/tracing_backend.h
@@ -17,6 +17,7 @@
#ifndef INCLUDE_PERFETTO_TRACING_TRACING_BACKEND_H_
#define INCLUDE_PERFETTO_TRACING_TRACING_BACKEND_H_
+#include <cstdint>
#include <memory>
#include <string>
--- a/src/3rdparty/chromium/third_party/webrtc/api/fec_controller.h
+++ b/src/3rdparty/chromium/third_party/webrtc/api/fec_controller.h
@@ -11,6 +11,7 @@
#ifndef API_FEC_CONTROLLER_H_
#define API_FEC_CONTROLLER_H_
+#include <cstdint>
#include <memory>
#include <vector>
--- a/src/3rdparty/chromium/third_party/webrtc/api/network_state_predictor.h
+++ b/src/3rdparty/chromium/third_party/webrtc/api/network_state_predictor.h
@@ -11,6 +11,7 @@
#ifndef API_NETWORK_STATE_PREDICTOR_H_
#define API_NETWORK_STATE_PREDICTOR_H_
+#include <cstdint>
#include <memory>
#include <vector>
--- a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/timestamp_map.h
+++ b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/timestamp_map.h
@@ -11,6 +11,7 @@
#ifndef MODULES_VIDEO_CODING_TIMESTAMP_MAP_H_
#define MODULES_VIDEO_CODING_TIMESTAMP_MAP_H_
+#include <cstdint>
#include <memory>
namespace webrtc {
--- a/src/3rdparty/chromium/third_party/webrtc/video/stats_counter.h
+++ b/src/3rdparty/chromium/third_party/webrtc/video/stats_counter.h
@@ -11,6 +11,7 @@
#ifndef VIDEO_STATS_COUNTER_H_
#define VIDEO_STATS_COUNTER_H_
+#include <cstdint>
#include <memory>
#include <string>
--- a/src/3rdparty/chromium/third_party/woff2/include/woff2/output.h
+++ b/src/3rdparty/chromium/third_party/woff2/include/woff2/output.h
@@ -10,6 +10,7 @@
#define WOFF2_WOFF2_OUT_H_
#include <algorithm>
+#include <cstdint>
#include <cstring>
#include <memory>
#include <string>
--- a/src/3rdparty/chromium/base/task/thread_pool.h
+++ b/src/3rdparty/chromium/base/task/thread_pool.h
@@ -5,6 +5,7 @@
#ifndef BASE_TASK_THREAD_POOL_H_
#define BASE_TASK_THREAD_POOL_H_
+#include <cstdint>
#include <memory>
#include <utility>

View File

@@ -0,0 +1,93 @@
From: Paul Zander <negril.nx+gentoo@gmail.com>
Date: Wed, 23 Oct 2024 01:04:16 +0200
Subject: template-id-cdtor
warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/string_concatenate.h
+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/string_concatenate.h
@@ -45,7 +45,7 @@ class StringTypeAdapter<char> {
DISALLOW_NEW();
public:
- explicit StringTypeAdapter<char>(char buffer) : buffer_(buffer) {}
+ explicit StringTypeAdapter(char buffer) : buffer_(buffer) {}
unsigned length() const { return 1; }
bool Is8Bit() const { return true; }
@@ -62,7 +62,7 @@ class StringTypeAdapter<LChar> {
DISALLOW_NEW();
public:
- explicit StringTypeAdapter<LChar>(LChar buffer) : buffer_(buffer) {}
+ explicit StringTypeAdapter(LChar buffer) : buffer_(buffer) {}
unsigned length() const { return 1; }
bool Is8Bit() const { return true; }
@@ -79,7 +79,7 @@ class StringTypeAdapter<UChar> {
DISALLOW_NEW();
public:
- explicit StringTypeAdapter<UChar>(UChar buffer) : buffer_(buffer) {}
+ explicit StringTypeAdapter(UChar buffer) : buffer_(buffer) {}
unsigned length() const { return 1; }
bool Is8Bit() const { return buffer_ <= 0xff; }
@@ -100,7 +100,7 @@ class WTF_EXPORT StringTypeAdapter<char*> {
DISALLOW_NEW();
public:
- explicit StringTypeAdapter<char*>(char* buffer)
+ explicit StringTypeAdapter(char* buffer)
: StringTypeAdapter(buffer, strlen(buffer)) {}
unsigned length() const { return length_; }
@@ -110,7 +110,7 @@ class WTF_EXPORT StringTypeAdapter<char*> {
void WriteTo(UChar* destination) const;
private:
- StringTypeAdapter<char*>(char* buffer, size_t length);
+ StringTypeAdapter(char* buffer, size_t length);
const char* buffer_;
unsigned length_;
@@ -121,7 +121,7 @@ class WTF_EXPORT StringTypeAdapter<LChar*> {
DISALLOW_NEW();
public:
- explicit StringTypeAdapter<LChar*>(LChar* buffer);
+ explicit StringTypeAdapter(LChar* buffer);
unsigned length() const { return length_; }
bool Is8Bit() const { return true; }
@@ -157,7 +157,7 @@ class WTF_EXPORT StringTypeAdapter<const char*> {
DISALLOW_NEW();
public:
- explicit StringTypeAdapter<const char*>(const char* buffer);
+ explicit StringTypeAdapter(const char* buffer);
unsigned length() const { return length_; }
bool Is8Bit() const { return true; }
@@ -175,7 +175,7 @@ class WTF_EXPORT StringTypeAdapter<const LChar*> {
DISALLOW_NEW();
public:
- explicit StringTypeAdapter<const LChar*>(const LChar* buffer);
+ explicit StringTypeAdapter(const LChar* buffer);
unsigned length() const { return length_; }
bool Is8Bit() const { return true; }
--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/string_operators.h
+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/string_operators.h
@@ -115,7 +115,7 @@ class StringTypeAdapter<StringAppend<StringType1, StringType2>> {
STACK_ALLOCATED();
public:
- StringTypeAdapter<StringAppend<StringType1, StringType2>>(
+ StringTypeAdapter(
const StringAppend<StringType1, StringType2>& buffer)
: buffer_(buffer) {}

View File

@@ -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

View File

@@ -0,0 +1,14 @@
# https://bugs.gentoo.org/913923
Fix missing {-no,}-webengine-re2 command line options
--- a/src/core/configure.json
+++ b/src/core/configure.json
@@ -16,6 +16,7 @@
"webengine-icu": { "type": "enum", "name": "webengine-system-icu", "values": { "system": "yes", "qt": "no" } },
"webengine-ffmpeg": { "type": "enum", "name": "webengine-system-ffmpeg", "values": { "system": "yes", "qt": "no" } },
"webengine-opus": { "type": "enum", "name": "webengine-system-opus", "values": { "system": "yes", "qt": "no" } },
+ "webengine-re2": { "type": "enum", "name": "webengine-system-re2", "values": { "system": "yes", "qt": "no" } },
"webengine-webp": { "type": "enum", "name": "webengine-system-libwebp", "values": { "system": "yes", "qt": "no" } },
"webengine-pepper-plugins": "boolean",
"webengine-printing-and-pdf": "boolean",

View File

@@ -0,0 +1,21 @@
diff --git a/src/3rdparty/chromium/build/android/gyp/util/build_utils.py b/src/3rdparty/chromium/build/android/gyp/util/build_utils.py
index 022980517..e3f82704a 100644
--- a/src/3rdparty/chromium/build/android/gyp/util/build_utils.py
+++ b/src/3rdparty/chromium/build/android/gyp/util/build_utils.py
@@ -12,7 +12,6 @@ import fnmatch
import json
import logging
import os
-import pipes
import re
import shutil
import stat
@@ -198,7 +197,7 @@ class CalledProcessError(Exception):
# A user should be able to simply copy and paste the command that failed
# into their shell.
copyable_command = '( cd {}; {} )'.format(os.path.abspath(self.cwd),
- ' '.join(map(pipes.quote, self.args)))
+ printed_cmd)
return 'Command failed: {}\n{}'.format(copyable_command, self.output)

View File

@@ -0,0 +1,21 @@
diff --git a/src/3rdparty/chromium/build/android/gyp/util/build_utils.py b/src/3rdparty/chromium/build/android/gyp/util/build_utils.py
index 022980517..e3f82704a 100644
--- a/src/3rdparty/chromium/build/android/gyp/util/build_utils.py
+++ b/src/3rdparty/chromium/build/android/gyp/util/build_utils.py
@@ -12,7 +12,6 @@ import fnmatch
import json
import logging
import os
-import pipes
import re
import shutil
import stat
@@ -198,7 +197,7 @@ class CalledProcessError(Exception):
# A user should be able to simply copy and paste the command that failed
# into their shell.
copyable_command = '( cd {}; {} )'.format(os.path.abspath(self.cwd),
- ' '.join(map(pipes.quote, self.args)))
+ printed_cmd)
return 'Command failed: {}\n{}'.format(copyable_command, self.output)

View File

@@ -0,0 +1,10 @@
--- a/src/buildtools/gn.pro
+++ b/src/buildtools/gn.pro
@@ -25,6 +25,7 @@
msvc:!clang_cl: gn_gen_args += --use-lto
gn_configure = $$system_quote($$gn_bootstrap) $$gn_gen_args
+ gn_configure += --no-static-libstdc++
macos {
gn_configure += --isysroot \"$$QMAKE_MAC_SDK_PATH\"
}

View File

@@ -0,0 +1,264 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PATCHSET="${PN}-5.15.14_p20240510-patchset"
PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs
DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
HOMEPAGE="https://www.qt.io/"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
KEYWORDS="amd64 arm64"
if [[ ${PV} == ${QT5_PV}_p* ]]; then
SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
S="${WORKDIR}/${P}"
QT5_BUILD_DIR="${S}_build"
else
SRC_URI="https://download.qt.io/official_releases/qt/5.15/${PV}/submodules/${PN}-everywhere-opensource-src-${PV}.tar.xz"
S="${WORKDIR}/${PN}-everywhere-src-${PV}"
QT5_BUILD_DIR="${S}_build"
fi
else
EGIT_BRANCH="5.15"
EGIT_REPO_URI=(
"https://code.qt.io/qt/${QT5_MODULE}.git"
"https://github.com/qt/${QT5_MODULE}.git"
)
inherit git-r3
fi
SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz"
IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-icu widgets"
REQUIRED_USE="designer? ( widgets )"
RDEPEND="
app-arch/snappy:=
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
dev-libs/expat
dev-libs/libevent:=
dev-libs/libxml2[icu]
dev-libs/libxslt
=dev-qt/qtcore-${QT5_PV}*
=dev-qt/qtdeclarative-${QT5_PV}*
=dev-qt/qtgui-${QT5_PV}*
=dev-qt/qtnetwork-${QT5_PV}*
=dev-qt/qtprintsupport-${QT5_PV}*
=dev-qt/qtwebchannel-${QT5_PV}*[qml]
media-libs/fontconfig
media-libs/freetype
media-libs/harfbuzz:=
media-libs/lcms:2
media-libs/libjpeg-turbo:=
media-libs/libpng:0=
>=media-libs/libvpx-1.5:=[svc(+)]
media-libs/libwebp:=
media-libs/opus
sys-apps/dbus
sys-apps/pciutils
sys-libs/zlib[minizip]
virtual/libudev
x11-libs/libdrm
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libxkbfile
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXScrnSaver
x11-libs/libXtst
alsa? ( media-libs/alsa-lib )
designer? ( =dev-qt/designer-${QT5_PV}* )
geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
kerberos? ( virtual/krb5 )
pulseaudio? ( media-libs/libpulse )
screencast? ( media-video/pipewire:= )
system-icu? ( >=dev-libs/icu-69.1:= )
widgets? (
=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
=dev-qt/qtwidgets-${QT5_PV}*
)
"
DEPEND="${RDEPEND}
media-libs/libglvnd
"
BDEPEND="${PYTHON_DEPS}
app-alternatives/ninja
$(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
dev-util/gperf
dev-util/re2c
net-libs/nodejs[ssl]
sys-devel/bison
sys-devel/flex
"
PATCHES=(
"${WORKDIR}/${PATCHSET}"
"${FILESDIR}/${PN}-5.15.14_p20240510-re2.patch" # bug 913923
"${FILESDIR}/${PN}-5.15.14_p20240510-gcc15-cstdint.patch"
"${FILESDIR}/${PN}-5.15.14_p20240510-gcc15-template-id-cdtor.patch"
"${FILESDIR}/${P}-py3.13-pipes.patch" # thx to Fedora
"${FILESDIR}/qt5-webengine-ninja-1.12.patch" # thx to Fedora
)
python_check_deps() {
python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
}
qtwebengine_check-reqs() {
# bug #307861
eshopts_push -s extglob
if is-flagq '-g?(gdb)?([1-9])'; then
ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
ewarn "You may experience really long compilation times and/or increased memory usage."
ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
fi
eshopts_pop
[[ ${MERGE_TYPE} == binary ]] && return
# (check-reqs added for bug #570534)
#
# Estimate the amount of RAM required
# Multiplier is *10 because Bash doesn't do floating point maths.
# Let's crudely assume ~2GB per compiler job for GCC.
local multiplier=20
# And call it ~1.5GB for Clang.
if tc-is-clang ; then
multiplier=15
fi
local CHECKREQS_DISK_BUILD="7G"
local CHECKREQS_DISK_USR="150M"
if ! has "distcc" ${FEATURES} ; then
# bug #830661
# Not super realistic to come up with good estimates for distcc right now
local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
fi
check-reqs_${EBUILD_PHASE_FUNC}
}
pkg_pretend() {
qtwebengine_check-reqs
}
pkg_setup() {
qtwebengine_check-reqs
python-any-r1_pkg_setup
}
src_unpack() {
case ${QT5_BUILD_TYPE} in
live) git-r3_src_unpack ;&
release) default ;;
esac
}
src_prepare() {
if [[ ${PV} == ${QT5_PV}_p* ]]; then
# This is made from git, and for some reason will fail w/o .git directories.
mkdir -p .git src/3rdparty/chromium/.git || die
fi
# We need to make sure this integrates well into Qt 5.15.3 installation.
# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
sed -E "/^MODULE_VERSION/s/5\.15\.[0-9]+/${QT5_PV}/" -i .qmake.conf || die
# QTBUG-88657 - jumbo-build could still make trouble
if ! use jumbo-build; then
sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
src/buildtools/config/common.pri || die
fi
# bug 620444 - ensure local headers are used
find "${S}" -type f -name "*.pr[fio]" | \
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.
# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
local file
while read file; do
echo "#error This file should not be used!" > "${file}" || die
done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
fi
# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
if tc-is-clang ; then
if has_version 'llvm-core/clang[default-libcxx(-)]' || has_version 'llvm-core/clang-common[default-libcxx(-)]' ; then
eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
fi
fi
qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
qt_use_disable_mod widgets widgets src/src.pro
qt5-build_src_prepare
}
src_configure() {
export NINJA_PATH=/usr/bin/ninja
export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
local myqmakeargs=(
--
-no-build-qtpdf
-printing-and-pdf
--webengine-python-version=python3
-system-opus
-system-webp
$(qt_use alsa)
$(qt_use !bindist proprietary-codecs)
$(qt_use geolocation webengine-geolocation)
$(qt_use kerberos webengine-kerberos)
$(qt_use pulseaudio)
$(usex screencast -webengine-webrtc-pipewire '')
-qt-ffmpeg # bug 831487
$(qt_use system-icu webengine-icu)
-no-webengine-re2 # bug 913923
)
qt5-build_src_configure
}
src_install() {
qt5-build_src_install
# bug 601472
if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
fi
}
pkg_preinst() {
elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
elog "with additional security fixes from newer versions. Extensive as it is, the"
elog "list of backports is impossible to evaluate, but always bound to be behind"
elog "Chromium's release schedule."
elog "In addition, various online services may deny service based on an outdated"
elog "user agent version (and/or other checks). Google is already known to do so."
elog
elog "tldr: Your web browsing experience will be compromised."
}