From fa7d3c54d93c09fb96236815580c6881093814e4 Mon Sep 17 00:00:00 2001 From: Duncaen Date: Wed, 11 Oct 2023 18:43:39 +0200 Subject: [PATCH] chromium: update to 118.0.5993.70. --- ...for-std-unique_ptr-in-third_party-ip.patch | 27 ---- ...mium-105.0.5195.52-python-six-1.16.0.patch | 134 +++++++++++++++++ ...ium-117-emplace_back_on_vector-c++20.patch | 91 ------------ ....4.patch => chromium-118-ffmpeg-4.4.patch} | 14 -- ...> chromium-118-missing-header-files.patch} | 27 +++- ...hromium-118-no_matching_constructor.patch} | 135 +++++++++++++++++ .../chromium-118-python-3.12-deprecated.patch | 138 ++++++++++++++++++ .../chromium-118-use_system_freetype.patch | 91 ++++++++++++ ...around_clang_bug-structured_binding.patch} | 13 -- srcpkgs/chromium/patches/no-mte.patch | 7 +- srcpkgs/chromium/template | 4 +- 11 files changed, 528 insertions(+), 153 deletions(-) delete mode 100644 srcpkgs/chromium/patches/add-memory-for-std-unique_ptr-in-third_party-ip.patch create mode 100644 srcpkgs/chromium/patches/chromium-105.0.5195.52-python-six-1.16.0.patch delete mode 100644 srcpkgs/chromium/patches/chromium-117-emplace_back_on_vector-c++20.patch rename srcpkgs/chromium/patches/{chromium-93-ffmpeg-4.4.patch => chromium-118-ffmpeg-4.4.patch} (66%) rename srcpkgs/chromium/patches/{chromium-117-missing-header-files.patch => chromium-118-missing-header-files.patch} (94%) rename srcpkgs/chromium/patches/{chromium-117-no_matching_constructor.patch => chromium-118-no_matching_constructor.patch} (76%) create mode 100644 srcpkgs/chromium/patches/chromium-118-python-3.12-deprecated.patch create mode 100644 srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch rename srcpkgs/chromium/patches/{chromium-117-workaround_clang_bug-structured_binding.patch => chromium-118-workaround_clang_bug-structured_binding.patch} (86%) diff --git a/srcpkgs/chromium/patches/add-memory-for-std-unique_ptr-in-third_party-ip.patch b/srcpkgs/chromium/patches/add-memory-for-std-unique_ptr-in-third_party-ip.patch deleted file mode 100644 index 2d6005f19d7cb..0000000000000 --- a/srcpkgs/chromium/patches/add-memory-for-std-unique_ptr-in-third_party-ip.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5a8dfcaf84b5af5aeb738702651e98bfc43d6d45 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 9 Aug 2023 15:36:26 +0000 -Subject: [PATCH] IWYU: add memory for std::unique_ptr in //third_party/ipcz - -Bug: 957519 -Change-Id: I600f415a59206da283046b638a4f68eda0892ac7 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4754274 -Commit-Queue: Stephan Hartmann -Reviewed-by: Robert Sesek -Cr-Commit-Position: refs/heads/main@{#1181503} ---- - third_party/ipcz/src/ipcz/router_link.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/third_party/ipcz/src/ipcz/router_link.h b/third_party/ipcz/src/ipcz/router_link.h -index 09bc5626d99..619638cc7f1 100644 ---- a/third_party/ipcz/src/ipcz/router_link.h -+++ b/third_party/ipcz/src/ipcz/router_link.h -@@ -7,6 +7,7 @@ - - #include - #include -+#include - #include - #include - diff --git a/srcpkgs/chromium/patches/chromium-105.0.5195.52-python-six-1.16.0.patch b/srcpkgs/chromium/patches/chromium-105.0.5195.52-python-six-1.16.0.patch new file mode 100644 index 0000000000000..497c2df40b321 --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-105.0.5195.52-python-six-1.16.0.patch @@ -0,0 +1,134 @@ +diff -up chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py +--- chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 2022-07-05 13:31:29.434673638 +0000 ++++ chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py 2022-07-05 21:52:01.884578748 +0000 +@@ -29,7 +29,7 @@ import sys + import types + + __author__ = "Benjamin Peterson " +-__version__ = "1.15.0" ++__version__ = "1.16.0" + + + # Useful for very coarse version differentiation. +@@ -71,6 +71,11 @@ else: + MAXSIZE = int((1 << 63) - 1) + del X + ++if PY34: ++ from importlib.util import spec_from_loader ++else: ++ spec_from_loader = None ++ + + def _add_doc(func, doc): + """Add documentation to a function.""" +@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): + return self + return None + ++ def find_spec(self, fullname, path, target=None): ++ if fullname in self.known_modules: ++ return spec_from_loader(fullname, self) ++ return None ++ + def __get_module(self, fullname): + try: + return self.known_modules[fullname] +@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): + return None + get_source = get_code # same as get_code + ++ def create_module(self, spec): ++ return self.load_module(spec.name) ++ ++ def exec_module(self, module): ++ pass ++ + _importer = _SixMetaPathImporter(__name__) + + +diff -up chromium-103.0.5060.53/third_party/six/src/six.py.116 chromium-103.0.5060.53/third_party/six/src/six.py +--- chromium-103.0.5060.53/third_party/six/src/six.py.116 2022-07-05 13:32:28.916687658 +0000 ++++ chromium-103.0.5060.53/third_party/six/src/six.py 2022-07-05 21:59:42.561240407 +0000 +@@ -29,7 +29,7 @@ import sys + import types + + __author__ = "Benjamin Peterson " +-__version__ = "1.14.0" ++__version__ = "1.16.0" + + + # Useful for very coarse version differentiation. +@@ -71,6 +71,11 @@ else: + MAXSIZE = int((1 << 63) - 1) + del X + ++if PY34: ++ from importlib.util import spec_from_loader ++else: ++ spec_from_loader = None ++ + + def _add_doc(func, doc): + """Add documentation to a function.""" +@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): + return self + return None + ++ def find_spec(self, fullname, path, target=None): ++ if fullname in self.known_modules: ++ return spec_from_loader(fullname, self) ++ return None ++ + def __get_module(self, fullname): + try: + return self.known_modules[fullname] +@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): + return None + get_source = get_code # same as get_code + ++ def create_module(self, spec): ++ return self.load_module(spec.name) ++ ++ def exec_module(self, module): ++ pass ++ + _importer = _SixMetaPathImporter(__name__) + + +@@ -890,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', e + - `str` -> encoded to `bytes` + - `bytes` -> `bytes` + """ ++ if isinstance(s, binary_type): ++ return s + if isinstance(s, text_type): + return s.encode(encoding, errors) +- elif isinstance(s, binary_type): +- return s +- else: +- raise TypeError("not expecting type '%s'" % type(s)) ++ raise TypeError("not expecting type '%s'" % type(s)) + + + def ensure_str(s, encoding='utf-8', errors='strict'): +@@ -909,12 +924,15 @@ def ensure_str(s, encoding='utf-8', erro + - `str` -> `str` + - `bytes` -> decoded to `str` + """ +- if not isinstance(s, (text_type, binary_type)): +- raise TypeError("not expecting type '%s'" % type(s)) ++ # Optimization: Fast return for the common case. ++ if type(s) is str: ++ return s + if PY2 and isinstance(s, text_type): +- s = s.encode(encoding, errors) ++ return s.encode(encoding, errors) + elif PY3 and isinstance(s, binary_type): +- s = s.decode(encoding, errors) ++ return s.decode(encoding, errors) ++ elif not isinstance(s, (text_type, binary_type)): ++ raise TypeError("not expecting type '%s'" % type(s)) + return s + + diff --git a/srcpkgs/chromium/patches/chromium-117-emplace_back_on_vector-c++20.patch b/srcpkgs/chromium/patches/chromium-117-emplace_back_on_vector-c++20.patch deleted file mode 100644 index 3f1b800238ebf..0000000000000 --- a/srcpkgs/chromium/patches/chromium-117-emplace_back_on_vector-c++20.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff -up chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc ---- chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me 2023-06-25 10:06:58.445990069 +0200 -+++ chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc 2023-06-25 10:51:17.640818231 +0200 -@@ -355,7 +355,7 @@ Status ParseMobileEmulation(const base:: - "'version' field of type string"); - } - -- brands.emplace_back(*brand, *version); -+ brands.emplace_back() = {*brand, *version}; - } - - client_hints.brands = std::move(brands); -@@ -392,7 +392,7 @@ Status ParseMobileEmulation(const base:: - "a 'version' field of type string"); - } - -- full_version_list.emplace_back(*brand, *version); -+ full_version_list.emplace_back() = {*brand, *version}; - } - - client_hints.full_version_list = std::move(full_version_list); -diff -up chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc ---- chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me 2023-08-15 21:34:58.922855428 +0200 -+++ chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc 2023-08-15 21:39:23.310434237 +0200 -@@ -207,8 +207,8 @@ void OneTimePermissionProvider::OnSuspen - - while (rule_iterator && rule_iterator->HasNext()) { - auto rule = rule_iterator->Next(); -- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern, -- rule->secondary_pattern); -+ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern, -+ rule->secondary_pattern}; - permissions::PermissionUmaUtil::RecordOneTimePermissionEvent( - setting_type, - permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND); -@@ -302,8 +302,8 @@ void OneTimePermissionProvider::DeleteEn - auto rule = rule_iterator->Next(); - if (rule->primary_pattern.Matches(origin_gurl) && - rule->secondary_pattern.Matches(origin_gurl)) { -- patterns_to_delete.emplace_back( -- content_setting_type, rule->primary_pattern, rule->secondary_pattern); -+ patterns_to_delete.emplace_back() = { -+ content_setting_type, rule->primary_pattern, rule->secondary_pattern}; - permissions::PermissionUmaUtil::RecordOneTimePermissionEvent( - content_setting_type, trigger_event); - } -diff -up chromium-117.0.5938.62/base/trace_event/trace_log.cc.me chromium-117.0.5938.62/base/trace_event/trace_log.cc ---- chromium-117.0.5938.62/base/trace_event/trace_log.cc.me 2023-09-13 20:14:42.441248781 +0200 -+++ chromium-117.0.5938.62/base/trace_event/trace_log.cc 2023-09-13 20:16:12.186638601 +0200 -@@ -2187,8 +2187,8 @@ void TraceLog::SetTraceBufferForTesting( - #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY) - void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) { - AutoLock lock(track_event_lock_); -- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config, -- args.backend_type); -+ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config, -+ args.backend_type}; - } - - void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) { -diff -up chromium-117.0.5938.62/content/browser/download/save_package.cc.me chromium-117.0.5938.62/content/browser/download/save_package.cc ---- chromium-117.0.5938.62/content/browser/download/save_package.cc.me 2023-09-15 12:02:43.866622591 +0200 -+++ chromium-117.0.5938.62/content/browser/download/save_package.cc 2023-09-15 12:03:58.715984511 +0200 -@@ -764,8 +764,8 @@ void SavePackage::Finish() { - if (download_) { - std::vector files; - for (auto& item : saved_success_items_) { -- files.emplace_back(item.second->full_path(), item.second->url(), -- item.second->referrer().url); -+ files.emplace_back() = {item.second->full_path(), item.second->url(), -+ item.second->referrer().url}; - } - download::DownloadSaveItemData::AttachItemData(download_, std::move(files)); - } -diff -up chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me chromium-117.0.5938.62/ui/gtk/gtk_ui.cc ---- chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me 2023-09-15 20:29:42.626502343 +0200 -+++ chromium-117.0.5938.62/ui/gtk/gtk_ui.cc 2023-09-15 20:36:18.763091179 +0200 -@@ -955,11 +955,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi - GdkRectangle geometry; - gdk_monitor_get_geometry(monitor, &geometry); - int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor)); -- config.display_geometries.emplace_back( -+ config.display_geometries.emplace_back() = { - gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y, - monitor_scale * geometry.width, - monitor_scale * geometry.height), -- monitor_scale * font_scale); -+ static_cast(monitor_scale * font_scale)}; - } - return config; - } diff --git a/srcpkgs/chromium/patches/chromium-93-ffmpeg-4.4.patch b/srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch similarity index 66% rename from srcpkgs/chromium/patches/chromium-93-ffmpeg-4.4.patch rename to srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch index f0ec736f98bc7..556c734d4e02e 100644 --- a/srcpkgs/chromium/patches/chromium-93-ffmpeg-4.4.patch +++ b/srcpkgs/chromium/patches/chromium-118-ffmpeg-4.4.patch @@ -2,20 +2,6 @@ diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc index ac4713b07268..492a9a37d096 100644 --- a/media/filters/ffmpeg_demuxer.cc +++ b/media/filters/ffmpeg_demuxer.cc -@@ -427,11 +427,11 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { - scoped_refptr buffer; - - if (type() == DemuxerStream::TEXT) { -- size_t id_size = 0; -+ int id_size = 0; - uint8_t* id_data = av_packet_get_side_data( - packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size); - -- size_t settings_size = 0; -+ int settings_size = 0; - uint8_t* settings_data = av_packet_get_side_data( - packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size); - @@ -443,7 +443,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { buffer = DecoderBuffer::CopyFrom(packet->data, packet->size, side_data.data(), side_data.size()); diff --git a/srcpkgs/chromium/patches/chromium-117-missing-header-files.patch b/srcpkgs/chromium/patches/chromium-118-missing-header-files.patch similarity index 94% rename from srcpkgs/chromium/patches/chromium-117-missing-header-files.patch rename to srcpkgs/chromium/patches/chromium-118-missing-header-files.patch index ad8e1e654d342..ea415df32835b 100644 --- a/srcpkgs/chromium/patches/chromium-117-missing-header-files.patch +++ b/srcpkgs/chromium/patches/chromium-118-missing-header-files.patch @@ -451,7 +451,32 @@ diff -up chromium-117.0.5938.48/third_party/material_color_utilities/src/cpp/pal * limitations under the License. */ -+#include ++#include #include "cpp/palettes/tones.h" #include "cpp/cam/cam.h" +diff -up chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor_reading.h.me chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor_reading.h +--- chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor_reading.h.me 2023-10-01 13:55:01.913193186 +0200 ++++ chromium-118.0.5993.32/services/device/public/cpp/generic_sensor/sensor_reading.h 2023-10-01 14:05:38.488038429 +0200 +@@ -5,6 +5,9 @@ + #ifndef SERVICES_DEVICE_PUBLIC_CPP_GENERIC_SENSOR_SENSOR_READING_H_ + #define SERVICES_DEVICE_PUBLIC_CPP_GENERIC_SENSOR_SENSOR_READING_H_ + ++#include ++#include ++ + #include + + namespace device { +diff -up chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h.me chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h +--- chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h.me 2023-10-02 13:38:31.217806428 +0200 ++++ chromium-118.0.5993.32/components/gwp_asan/client/lightweight_detector.h 2023-10-02 13:39:05.006427168 +0200 +@@ -5,6 +5,8 @@ + #ifndef COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_ + #define COMPONENTS_GWP_ASAN_CLIENT_LIGHTWEIGHT_DETECTOR_H_ + ++#include ++ + #include "base/gtest_prod_util.h" + #include "components/gwp_asan/client/export.h" + #include "components/gwp_asan/common/lightweight_detector_state.h" diff --git a/srcpkgs/chromium/patches/chromium-117-no_matching_constructor.patch b/srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch similarity index 76% rename from srcpkgs/chromium/patches/chromium-117-no_matching_constructor.patch rename to srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch index e5ab60ac2d7dc..3d7748c3d5a26 100644 --- a/srcpkgs/chromium/patches/chromium-117-no_matching_constructor.patch +++ b/srcpkgs/chromium/patches/chromium-118-no_matching_constructor.patch @@ -430,3 +430,138 @@ diff -up chromium-117.0.5938.62/chrome/browser/enterprise/profile_management/pro // Extract domains and attributes from the command line switch. const base::CommandLine& command_line = +diff -up chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc +--- chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me 2023-06-25 10:06:58.445990069 +0200 ++++ chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc 2023-06-25 10:51:17.640818231 +0200 +@@ -355,7 +355,7 @@ Status ParseMobileEmulation(const base:: + "'version' field of type string"); + } + +- brands.emplace_back(*brand, *version); ++ brands.emplace_back() = {*brand, *version}; + } + + client_hints.brands = std::move(brands); +@@ -392,7 +392,7 @@ Status ParseMobileEmulation(const base:: + "a 'version' field of type string"); + } + +- full_version_list.emplace_back(*brand, *version); ++ full_version_list.emplace_back() = {*brand, *version}; + } + + client_hints.full_version_list = std::move(full_version_list); +diff -up chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc +--- chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me 2023-08-15 21:34:58.922855428 +0200 ++++ chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc 2023-08-15 21:39:23.310434237 +0200 +@@ -207,8 +207,8 @@ void OneTimePermissionProvider::OnSuspen + + while (rule_iterator && rule_iterator->HasNext()) { + auto rule = rule_iterator->Next(); +- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern, +- rule->secondary_pattern); ++ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern, ++ rule->secondary_pattern}; + permissions::PermissionUmaUtil::RecordOneTimePermissionEvent( + setting_type, + permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND); +@@ -302,8 +302,8 @@ void OneTimePermissionProvider::DeleteEn + auto rule = rule_iterator->Next(); + if (rule->primary_pattern.Matches(origin_gurl) && + rule->secondary_pattern.Matches(origin_gurl)) { +- patterns_to_delete.emplace_back( +- content_setting_type, rule->primary_pattern, rule->secondary_pattern); ++ patterns_to_delete.emplace_back() = { ++ content_setting_type, rule->primary_pattern, rule->secondary_pattern}; + permissions::PermissionUmaUtil::RecordOneTimePermissionEvent( + content_setting_type, trigger_event); + } +diff -up chromium-117.0.5938.62/base/trace_event/trace_log.cc.me chromium-117.0.5938.62/base/trace_event/trace_log.cc +--- chromium-117.0.5938.62/base/trace_event/trace_log.cc.me 2023-09-13 20:14:42.441248781 +0200 ++++ chromium-117.0.5938.62/base/trace_event/trace_log.cc 2023-09-13 20:16:12.186638601 +0200 +@@ -2187,8 +2187,8 @@ void TraceLog::SetTraceBufferForTesting( + #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY) + void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) { + AutoLock lock(track_event_lock_); +- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config, +- args.backend_type); ++ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config, ++ args.backend_type}; + } + + void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) { +diff -up chromium-117.0.5938.62/content/browser/download/save_package.cc.me chromium-117.0.5938.62/content/browser/download/save_package.cc +--- chromium-117.0.5938.62/content/browser/download/save_package.cc.me 2023-09-15 12:02:43.866622591 +0200 ++++ chromium-117.0.5938.62/content/browser/download/save_package.cc 2023-09-15 12:03:58.715984511 +0200 +@@ -764,8 +764,8 @@ void SavePackage::Finish() { + if (download_) { + std::vector files; + for (auto& item : saved_success_items_) { +- files.emplace_back(item.second->full_path(), item.second->url(), +- item.second->referrer().url); ++ files.emplace_back() = {item.second->full_path(), item.second->url(), ++ item.second->referrer().url}; + } + download::DownloadSaveItemData::AttachItemData(download_, std::move(files)); + } +diff -up chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me chromium-117.0.5938.62/ui/gtk/gtk_ui.cc +--- chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me 2023-09-15 20:29:42.626502343 +0200 ++++ chromium-117.0.5938.62/ui/gtk/gtk_ui.cc 2023-09-15 20:36:18.763091179 +0200 +@@ -955,11 +955,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi + GdkRectangle geometry; + gdk_monitor_get_geometry(monitor, &geometry); + int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor)); +- config.display_geometries.emplace_back( ++ config.display_geometries.emplace_back() = { + gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y, + monitor_scale * geometry.width, + monitor_scale * geometry.height), +- monitor_scale * font_scale); ++ static_cast(monitor_scale * font_scale)}; + } + return config; + } +diff -up chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc.me chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc +--- chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc.me 2023-10-06 10:38:52.473145692 +0200 ++++ chromium-118.0.5993.54/components/autofill/core/browser/contact_info_sync_util.cc 2023-10-06 10:37:30.268617169 +0200 +@@ -174,9 +174,9 @@ class ContactInfoProfileSetter { + CHECK(observations.empty()); + for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation : + proto_observations) { +- observations.emplace_back(proto_observation.type(), ++ observations.emplace_back() = {static_cast(proto_observation.type()), + ProfileTokenQuality::FormSignatureHash( +- proto_observation.form_hash())); ++ proto_observation.form_hash())}; + } + } + +diff -up chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.me chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc +--- chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.me 2023-10-06 10:41:37.746402215 +0200 ++++ chromium-118.0.5993.54/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc 2023-10-06 10:42:28.469562927 +0200 +@@ -553,11 +553,11 @@ ServerCvc AutofillWalletCvcStructDataFro + base::StringToInt64(wallet_credential_specifics.instrument_id(), + &instrument_id); + +- return ServerCvc( ++ return ServerCvc{ + instrument_id, base::UTF8ToUTF16(wallet_credential_specifics.cvc()), + base::Time::UnixEpoch() + + base::Milliseconds(wallet_credential_specifics +- .last_updated_time_unix_epoch_millis())); ++ .last_updated_time_unix_epoch_millis())}; + } + + VirtualCardUsageData VirtualCardUsageDataFromUsageSpecifics( +diff -up chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc.me chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc +--- chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc.me 2023-10-06 13:46:57.287089040 +0200 ++++ chromium-118.0.5993.54/content/browser/webid/idp_network_request_manager.cc 2023-10-06 13:47:25.450632156 +0200 +@@ -604,7 +604,7 @@ void OnTokenRequestParsed( + if (response_error) { + int error_code = response_error->FindInt(kErrorCodeKey).value_or(0); + GURL error_url = ExtractUrl(*response_error, kErrorUrlKey); +- token_result.error = TokenError(error_code, error_url); ++ token_result.error = TokenError{error_code, error_url}; + } + } + diff --git a/srcpkgs/chromium/patches/chromium-118-python-3.12-deprecated.patch b/srcpkgs/chromium/patches/chromium-118-python-3.12-deprecated.patch new file mode 100644 index 0000000000000..5837ae584117d --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-118-python-3.12-deprecated.patch @@ -0,0 +1,138 @@ +diff -up chromium-115.0.5790.102/base/write_build_date_header.py.me chromium-115.0.5790.102/base/write_build_date_header.py +--- chromium-115.0.5790.102/base/write_build_date_header.py.me 2023-07-22 14:23:42.620679397 +0200 ++++ chromium-115.0.5790.102/base/write_build_date_header.py 2023-07-22 15:24:46.833310310 +0200 +@@ -17,7 +17,7 @@ def main(): + args = argument_parser.parse_args() + + date_val = int(args.timestamp) +- date = datetime.datetime.utcfromtimestamp(date_val) ++ date = datetime.datetime.fromtimestamp(date_val, datetime.timezone.utc) + output = ('// Generated by //base/write_build_date_header.py\n' + '#ifndef BASE_GENERATED_BUILD_DATE_TIMESTAMP \n' + f'#define BASE_GENERATED_BUILD_DATE_TIMESTAMP {date_val}' +diff -up chromium-115.0.5790.102/build/write_buildflag_header.py.me chromium-115.0.5790.102/build/write_buildflag_header.py +--- chromium-115.0.5790.102/build/write_buildflag_header.py.me 2023-07-22 14:16:14.196975451 +0200 ++++ chromium-115.0.5790.102/build/write_buildflag_header.py 2023-07-22 14:20:24.977239994 +0200 +@@ -44,7 +44,7 @@ def GetOptions(): + header_guard = cmdline_options.output.upper() + if header_guard[0].isdigit(): + header_guard = '_' + header_guard +- header_guard = re.sub('[^\w]', '_', header_guard) ++ header_guard = re.sub(r'[^\w]', '_', header_guard) + header_guard += '_' + + # The actual output file is inside the gen dir. +diff -up chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py.me chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py +--- chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py.me 2023-07-22 14:47:34.230764210 +0200 ++++ chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py 2023-07-22 15:11:50.360983383 +0200 +@@ -9,7 +9,8 @@ + """ + from __future__ import print_function + import abc +-import imp ++import types ++import importlib + import optparse + import os + import re +@@ -40,6 +41,12 @@ class GoogleProtobufModuleImporter: + return filepath + return None + ++ def load_source(name: str, path: str) -> types.ModuleType: ++ spec = importlib.util.spec_from_file_location(name, path) ++ module = importlib.util.module_from_spec(spec) ++ spec.loader.exec_module(module) ++ return module ++ + def _module_exists(self, fullname): + return self._fullname_to_filepath(fullname) is not None + +@@ -68,7 +75,7 @@ class GoogleProtobufModuleImporter: + raise ImportError(fullname) + + filepath = self._fullname_to_filepath(fullname) +- return imp.load_source(fullname, filepath) ++ return load_source(fullname, filepath) + + class BinaryProtoGenerator: + +diff -up chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py.me chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py +--- chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py.me 2023-07-22 15:17:19.114258801 +0200 ++++ chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py 2023-07-22 15:17:43.368200491 +0200 +@@ -32,7 +32,7 @@ def FilterLine(filename, line, output): + return + + if line.startswith("goog.provide"): +- match = re.match("goog.provide\('([^']+)'\);", line) ++ match = re.match(r"goog.provide\('([^']+)'\);", line) + if not match: + print("Invalid goog.provide line in %s:\n%s" % (filename, line)) + sys.exit(1) +diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py +--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me 2023-07-22 15:12:41.850895179 +0200 ++++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py 2023-07-22 15:12:55.844871207 +0200 +@@ -18,7 +18,7 @@ class HTMLGenerationController(object): + + def GetHTMLForInlineStylesheet(self, contents): + if self.current_module is None: +- if re.search('url\(.+\)', contents): ++ if re.search(r'url\(.+\)', contents): + raise Exception( + 'Default HTMLGenerationController cannot handle inline style urls') + return contents +diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py +--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me 2023-07-22 15:14:06.923717910 +0200 ++++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py 2023-07-22 15:18:03.704150614 +0200 +@@ -4,4 +4,4 @@ + + + def EscapeJSIfNeeded(js): +- return js.replace('', '<\/script>') ++ return js.replace(r'', r'<\/script>') +diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py +--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me 2023-07-22 15:14:30.105662532 +0200 ++++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py 2023-07-22 15:14:57.977595950 +0200 +@@ -293,6 +293,6 @@ class HTMLModuleParser(): + html = '' + else: + if html.find('< /script>') != -1: +- raise Exception('Escape script tags with <\/script>') ++ raise Exception(r'Escape script tags with <\/script>') + + return HTMLModuleParserResults(html) +diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py +--- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me 2023-07-22 15:13:12.316842990 +0200 ++++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py 2023-07-22 15:13:49.684759091 +0200 +@@ -60,7 +60,7 @@ class ParsedStyleSheet(object): + return 'url(data:image/%s;base64,%s)' % (ext[1:], data.decode('utf-8')) + + # I'm assuming we only have url()'s associated with images +- return re.sub('url\((?P"|\'|)(?P[^"\'()]*)(?P=quote)\)', ++ return re.sub(r'url\((?P"|\'|)(?P[^"\'()]*)(?P=quote)\)', + InlineUrl, self.contents) + + def AppendDirectlyDependentFilenamesTo(self, dependent_filenames): +@@ -72,7 +72,7 @@ class ParsedStyleSheet(object): + raise Exception('@imports are not supported') + + matches = re.findall( +- 'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)', ++ r'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)', + self.contents) + + def resolve_url(url): +diff -up chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py.me chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py +--- chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py.me 2023-07-22 15:11:56.826972306 +0200 ++++ chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py 2023-07-22 15:12:37.550902545 +0200 +@@ -119,8 +119,8 @@ class _PreprocessingLoader(jinja2.BaseLo + source = self.preprocess(f.read()) + return source, path, lambda: mtime == os.path.getmtime(path) + +- blockstart = re.compile('{%-?\s*(if|elif|else|for|block|macro)[^}]*%}') +- blockend = re.compile('{%-?\s*(end(if|for|block|macro)|elif|else)[^}]*%}') ++ blockstart = re.compile(r'{%-?\s*(if|elif|else|for|block|macro)[^}]*%}') ++ blockend = re.compile(r'{%-?\s*(end(if|for|block|macro)|elif|else)[^}]*%}') + + def preprocess(self, source): + lines = source.split('\n') diff --git a/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch b/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch new file mode 100644 index 0000000000000..ce9fbdebe2fb7 --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-118-use_system_freetype.patch @@ -0,0 +1,91 @@ +commit ed354d00aeda84693611b14baa56a287557a26b5 +Author: Munira Tursunova +Date: Tue Sep 12 11:54:48 2023 +0000 + + Add check for use_system_freetype when importing private freetype header + + In [0] the include of private freetype header was added, which caused + build breakage when use_system_freetype=true, see [1]. + + This CL fixes the breakage by introducing USE_SYSTEM_FREETYPE build flag. + + [0] https://chromium-review.googlesource.com/c/chromium/src/+/4717485 + [1] https://chromium-review.googlesource.com/c/chromium/src/+/4717485/comments/cdfca7b9_8e61b2e0 + + Bug: 1429581 + Change-Id: I7f7de4cdb2dc46092a91a47d766bedb58ddccb7c + Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4843428 + Commit-Queue: Munira Tursunova + Reviewed-by: Dominik Röttsches + Reviewed-by: Rick Byers + Cr-Commit-Position: refs/heads/main@{#1195323} + +diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn +index 7b086f95413ff..4ce797ebad722 100644 +--- a/third_party/BUILD.gn ++++ b/third_party/BUILD.gn +@@ -2,6 +2,7 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import("//build/buildflag_header.gni") + import("//build/config/features.gni") + import("//build/config/freetype/freetype.gni") + import("//third_party/harfbuzz-ng/harfbuzz.gni") +@@ -65,3 +66,8 @@ component("freetype_harfbuzz") { + public_deps += [ "//third_party/harfbuzz-ng:harfbuzz_source" ] + } + } ++ ++buildflag_header("freetype_buildflags") { ++ header = "freetype_buildflags.h" ++ flags = [ "USE_SYSTEM_FREETYPE=$use_system_freetype" ] ++} +diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn +index 591d2f939605b..f6a2cd2168d1e 100644 +--- a/third_party/blink/renderer/platform/BUILD.gn ++++ b/third_party/blink/renderer/platform/BUILD.gn +@@ -1717,6 +1717,7 @@ component("platform") { + "//services/viz/public/cpp/gpu", + "//skia", + "//skia:skcms", ++ "//third_party:freetype_buildflags", + "//third_party:freetype_harfbuzz", + "//third_party/abseil-cpp:absl", + "//third_party/blink/public:image_resources", +diff --git a/third_party/blink/renderer/platform/fonts/simple_font_data.cc b/third_party/blink/renderer/platform/fonts/simple_font_data.cc +index abe06f35c14a5..b2bfd88f0d85d 100644 +--- a/third_party/blink/renderer/platform/fonts/simple_font_data.cc ++++ b/third_party/blink/renderer/platform/fonts/simple_font_data.cc +@@ -48,7 +48,7 @@ + #include "third_party/blink/renderer/platform/wtf/math_extras.h" + #include "third_party/blink/renderer/platform/wtf/text/character_names.h" + #include "third_party/blink/renderer/platform/wtf/text/unicode.h" +-#include "third_party/freetype/src/src/autofit/afws-decl.h" ++#include "third_party/freetype_buildflags.h" + #include "third_party/skia/include/core/SkFontMetrics.h" + #include "third_party/skia/include/core/SkPath.h" + #include "third_party/skia/include/core/SkTypeface.h" +@@ -57,12 +57,22 @@ + #include "ui/gfx/geometry/skia_conversions.h" + #include "v8/include/v8.h" + ++#if !BUILDFLAG(USE_SYSTEM_FREETYPE) ++#include "third_party/freetype/src/src/autofit/afws-decl.h" ++#endif ++ + namespace blink { + + constexpr float kSmallCapsFontSizeMultiplier = 0.7f; + constexpr float kEmphasisMarkFontSizeMultiplier = 0.5f; ++ ++#if !BUILDFLAG(USE_SYSTEM_FREETYPE) + constexpr int32_t kFontObjectsMemoryConsumption = + std::max(sizeof(AF_LatinMetricsRec), sizeof(AF_CJKMetricsRec)); ++#else ++// sizeof(AF_LatinMetricsRec) = 2128 ++constexpr int32_t kFontObjectsMemoryConsumption = 2128; ++#endif + + SimpleFontData::SimpleFontData(const FontPlatformData& platform_data, + scoped_refptr custom_data, diff --git a/srcpkgs/chromium/patches/chromium-117-workaround_clang_bug-structured_binding.patch b/srcpkgs/chromium/patches/chromium-118-workaround_clang_bug-structured_binding.patch similarity index 86% rename from srcpkgs/chromium/patches/chromium-117-workaround_clang_bug-structured_binding.patch rename to srcpkgs/chromium/patches/chromium-118-workaround_clang_bug-structured_binding.patch index c66cb91539ac4..3b79f512487ae 100644 --- a/srcpkgs/chromium/patches/chromium-117-workaround_clang_bug-structured_binding.patch +++ b/srcpkgs/chromium/patches/chromium-118-workaround_clang_bug-structured_binding.patch @@ -94,16 +94,3 @@ diff -up chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/n const auto* cached_layout_subtree = constraint_space.GridLayoutSubtree(); const auto container_writing_direction = -diff -up chromium-117.0.5938.62/chrome/browser/ui/autofill/chrome_autofill_client.cc.me chromium-117.0.5938.62/chrome/browser/ui/autofill/chrome_autofill_client.cc ---- chromium-117.0.5938.62/chrome/browser/ui/autofill/chrome_autofill_client.cc.me 2023-09-15 18:24:18.984133783 +0200 -+++ chromium-117.0.5938.62/chrome/browser/ui/autofill/chrome_autofill_client.cc 2023-09-15 18:28:50.420833595 +0200 -@@ -1100,7 +1100,8 @@ void ChromeAutofillClient::PropagateAuto - &renderer_form); - } - -- for (const auto& [frame_token, frame_forms] : renderer_forms_by_frame) { -+ for (const auto& [f_t, frame_forms] : renderer_forms_by_frame) { -+ auto& frame_token = f_t; - // Attempt to find the RFH with this `frame_token`. - content::RenderFrameHost* rfh = nullptr; - GetWebContents().ForEachRenderFrameHost( diff --git a/srcpkgs/chromium/patches/no-mte.patch b/srcpkgs/chromium/patches/no-mte.patch index 973f4ac5d7eb8..56167e1e5c576 100644 --- a/srcpkgs/chromium/patches/no-mte.patch +++ b/srcpkgs/chromium/patches/no-mte.patch @@ -1,14 +1,11 @@ -Patch-Source: https://git.alpinelinux.org/aports/commit/community/chromium/no-mte.patch?id=ed25dc0164fd410ab1866b69c949cb4747e69434 -M115 needs ifuncs for this --- --- a/base/allocator/partition_allocator/partition_alloc_config.h +++ b/base/allocator/partition_allocator/partition_alloc_config.h -@@ -151,7 +151,7 @@ +@@ -153,7 +153,7 @@ defined(ARCH_CPU_LITTLE_ENDIAN)) #define PA_CONFIG_HAS_MEMORY_TAGGING() \ - (defined(ARCH_CPU_ARM64) && defined(__clang__) && \ + (0 && defined(ARCH_CPU_ARM64) && defined(__clang__) && \ + !defined(ADDRESS_SANITIZER) && \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID))) - #if PA_CONFIG(HAS_MEMORY_TAGGING) diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index 4d3bbe21e86f0..cc36911cd338d 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,7 +1,7 @@ # Template file for 'chromium' pkgname=chromium # See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version -version=117.0.5938.132 +version=118.0.5993.70 revision=1 archs="i686* x86_64* aarch64* armv7l*" hostmakedepends=" @@ -27,7 +27,7 @@ maintainer="Duncaen " license="BSD-3-Clause" homepage="https://www.chromium.org/" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=28f077123a51942839a9ec518a64930cbc192186e799ef8ccdef19c93ddbaead +checksum=49ee00a734de3dae7c421eb3c974e8d451b4de6f5b4e34b603fd6435eab6993d lib32disabled=yes