Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] chromium: update to 110.0.5481.77.
@ 2023-02-08 16:16 Duncaen
  2023-02-08 23:25 ` [PR PATCH] [Updated] " Duncaen
  2023-02-08 23:25 ` [PR PATCH] [Merged]: " Duncaen
  0 siblings, 2 replies; 3+ messages in thread
From: Duncaen @ 2023-02-08 16:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]

There is a new pull request by Duncaen against master on the void-packages repository

https://github.com/Duncaen/void-packages chromium-110
https://github.com/void-linux/void-packages/pull/42145

chromium: update to 110.0.5481.77.
[ci skip]

* [x] x86_64-glibc
* [ ] x86_64-musl
* [ ] aarch64-musl
* [ ] i686

A patch file from https://github.com/void-linux/void-packages/pull/42145.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-110-42145.patch --]
[-- Type: text/x-diff, Size: 17610 bytes --]

From defcb9868526780ff85f778bdff62b166e94b7d0 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 8 Feb 2023 17:15:36 +0100
Subject: [PATCH] chromium: update to 110.0.5481.77.

---
 ...chromium-110-CredentialUIEntry-const.patch |  41 ++++
 ...romium-110-DarkModeLABColorSpace-pow.patch |  37 ++++
 .../chromium-110-NativeThemeBase-fabs.patch   |  29 +++
 ...the-Stack-object-from-ThreadLocalTop.patch | 205 ++++++++++++++++++
 srcpkgs/chromium/template                     |  11 +-
 5 files changed, 317 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/chromium/patches/chromium-110-CredentialUIEntry-const.patch
 create mode 100644 srcpkgs/chromium/patches/chromium-110-DarkModeLABColorSpace-pow.patch
 create mode 100644 srcpkgs/chromium/patches/chromium-110-NativeThemeBase-fabs.patch
 create mode 100644 srcpkgs/chromium/patches/v8-move-the-Stack-object-from-ThreadLocalTop.patch

diff --git a/srcpkgs/chromium/patches/chromium-110-CredentialUIEntry-const.patch b/srcpkgs/chromium/patches/chromium-110-CredentialUIEntry-const.patch
new file mode 100644
index 000000000000..eb68aa27aca4
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-110-CredentialUIEntry-const.patch
@@ -0,0 +1,41 @@
+From b4e56d22275cae5a910463a966a96345430a83ea Mon Sep 17 00:00:00 2001
+From: Ivan Murashov <ivan.murashov@lge.com>
+Date: Sat, 17 Dec 2022 12:06:01 +0000
+Subject: [PATCH] libstdc++: Don't use const members in std::vector in password_manager::CredentialUIEntry
+
+Otherwise build fails when building with use_custom_libcxx=false.
+The error example:
+std::vector must have a non-const, non-volatile value_type
+
+Implementation of std::vector in libstdc++ does not allow const.
+
+Bug: 957519
+Change-Id: I089de2d52df25138d74dbf01fdf61d6301b4d871
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4111037
+Reviewed-by: Mohamed Amir Yosef <mamir@chromium.org>
+Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1084697}
+---
+
+diff --git a/components/password_manager/core/browser/ui/credential_ui_entry.cc b/components/password_manager/core/browser/ui/credential_ui_entry.cc
+index 1e0766a..a9a34f7 100644
+--- a/components/password_manager/core/browser/ui/credential_ui_entry.cc
++++ b/components/password_manager/core/browser/ui/credential_ui_entry.cc
+@@ -97,7 +97,7 @@
+   // For cases when the notes differ within grouped passwords (e.g: a
+   // credential exists in both account and profile stores), respective notes
+   // should be concatenated and linebreak used as a delimiter.
+-  std::vector<const std::u16string> notes_with_duplicates;
++  std::vector<std::u16string> notes_with_duplicates;
+   for (const auto& form : forms) {
+     // Only notes with an empty `unique_display_name` are supported in the
+     // settings UI.
+@@ -109,7 +109,7 @@
+   }
+   auto unique_notes =
+       base::MakeFlatSet<std::u16string>(std::move(notes_with_duplicates));
+-  note = base::JoinString(std::vector<const std::u16string>(
++  note = base::JoinString(std::vector<std::u16string>(
+                               unique_notes.begin(), unique_notes.end()),
+                           u"\n");
+ 
diff --git a/srcpkgs/chromium/patches/chromium-110-DarkModeLABColorSpace-pow.patch b/srcpkgs/chromium/patches/chromium-110-DarkModeLABColorSpace-pow.patch
new file mode 100644
index 000000000000..91f1aee073e6
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-110-DarkModeLABColorSpace-pow.patch
@@ -0,0 +1,37 @@
+From 795c311aae4b718585bc6194189f061000c823a1 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Fri, 23 Dec 2022 14:28:55 +0000
+Subject: [PATCH] libstdc++: fix narrowing in blink::DarkModeLABColorSpace
+
+Clang-14 errors out with narrowing from double to float. Use std::pow
+instead.
+---
+ .../renderer/platform/graphics/dark_mode_lab_color_space.h   | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h b/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h
+index 999c3e5..c18ea7b 100644
+--- a/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h
++++ b/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h
+@@ -125,7 +125,7 @@ class DarkModeLABColorSpace {
+   // https://en.wikipedia.org/wiki/CIELAB_color_space#Reverse_transformation.
+   SkV3 FromXYZ(const SkV3& v) const {
+     auto f = [](float x) {
+-      return x > kSigma3 ? pow(x, 1.0f / 3.0f)
++      return x > kSigma3 ? std::pow(x, 1.0f / 3.0f)
+                          : x / (3 * kSigma2) + 4.0f / 29.0f;
+     };
+ 
+@@ -145,7 +145,8 @@ class DarkModeLABColorSpace {
+   // https://en.wikipedia.org/wiki/CIELAB_color_space#Forward_transformation.
+   SkV3 ToXYZ(const SkV3& lab) const {
+     auto invf = [](float x) {
+-      return x > kSigma ? pow(x, 3.0f) : 3.0f * kSigma2 * (x - 4.0f / 29.0f);
++      return x > kSigma ? std::pow(x, 3.0f)
++                        : 3.0f * kSigma2 * (x - 4.0f / 29.0f);
+     };
+ 
+     SkV3 v = {Clamp(lab.x, 0.0f, 100.0f), Clamp(lab.y, -128.0f, 128.0f),
+-- 
+2.38.2
+
diff --git a/srcpkgs/chromium/patches/chromium-110-NativeThemeBase-fabs.patch b/srcpkgs/chromium/patches/chromium-110-NativeThemeBase-fabs.patch
new file mode 100644
index 000000000000..c7d0e8b1de8d
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-110-NativeThemeBase-fabs.patch
@@ -0,0 +1,29 @@
+From 07f0a87e4409f27854b3a1d17f270a3497f38947 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Mon, 19 Dec 2022 19:07:37 +0000
+Subject: [PATCH] GCC: use fabsf in ui::NativeThemeBase::OutlineColor
+
+Template deduction fails for base::clamp, because return type of
+fabs is double and all other parameters are float.
+
+Bug: 819294
+Change-Id: I34f1c9c99d13f69097d899bfcb0526cbdf4fe1c1
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4110869
+Reviewed-by: Peter Kasting <pkasting@chromium.org>
+Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
+Cr-Commit-Position: refs/heads/main@{#1085034}
+---
+
+diff --git a/ui/native_theme/native_theme_base.cc b/ui/native_theme/native_theme_base.cc
+index 169c60c..36db49a 100644
+--- a/ui/native_theme/native_theme_base.cc
++++ b/ui/native_theme/native_theme_base.cc
+@@ -1336,7 +1336,7 @@
+   // The following code has been tested to look OK with all of the
+   // default GTK themes.
+   SkScalar min_diff = base::clamp((hsv1[1] + hsv2[1]) * 1.2f, 0.28f, 0.5f);
+-  SkScalar diff = base::clamp(fabs(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f);
++  SkScalar diff = base::clamp(fabsf(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f);
+ 
+   if (hsv1[2] + hsv2[2] > 1.0)
+     diff = -diff;
diff --git a/srcpkgs/chromium/patches/v8-move-the-Stack-object-from-ThreadLocalTop.patch b/srcpkgs/chromium/patches/v8-move-the-Stack-object-from-ThreadLocalTop.patch
new file mode 100644
index 000000000000..73e042cf5562
--- /dev/null
+++ b/srcpkgs/chromium/patches/v8-move-the-Stack-object-from-ThreadLocalTop.patch
@@ -0,0 +1,205 @@
+From 7b6fbcd0a6700db498ad55db046ecda92c8ee8c1 Mon Sep 17 00:00:00 2001
+From: Nikolaos Papaspyrou <nikolaos@chromium.org>
+Date: Sun, 29 Jan 2023 17:18:08 +0100
+Subject: [PATCH] Merge: [heap] Move the Stack object from ThreadLocalTop to
+ Isolate
+
+This is just for nodejs, do not backmerge to 11.0.
+(cherry picked from commit 1e4b71d99fea5ea6bb4bf6420585a7819872bb0f)
+
+> Change-Id: I026a35af3bc6999a09b21f277756d4454c086343
+> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4152476
+> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
+> Reviewed-by: Omer Katz <omerkatz@chromium.org>
+> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
+> Cr-Commit-Position: refs/heads/main@{#85445}
+
+Stack information is thread-specific and, until now, it was stored in a
+field in ThreadLocalTop. This CL moves stack information to the isolate
+and makes sure to update the stack start whenever a main thread enters
+the isolate. At the same time, the Stack object is refactored and
+simplified.
+
+As a side effect, after removing the Stack object, ThreadLocalTop
+satisfies the std::standard_layout trait; this fixes some issues
+observed with different C++ compilers.
+
+Bug: v8:13630
+Bug: v8:13257
+Change-Id: I4be1f04fe90699e1a6e456dad3e0dd623851acce
+---
+ src/execution/isolate.cc          | 36 +++++++++++++++----------------
+ src/execution/isolate.h           |  6 ++++++
+ src/execution/thread-local-top.cc |  2 --
+ src/execution/thread-local-top.h  |  6 +-----
+ src/heap/heap.cc                  |  4 +---
+ 5 files changed, 25 insertions(+), 29 deletions(-)
+
+diff --git a/src/execution/isolate.cc b/src/execution/isolate.cc
+index 4edf364e0a..be4fd400d2 100644
+--- a/v8/src/execution/isolate.cc
++++ b/v8/src/execution/isolate.cc
+@@ -3074,22 +3074,23 @@ void Isolate::AddSharedWasmMemory(Handle<WasmMemoryObject> memory_object) {
+ void Isolate::RecordStackSwitchForScanning() {
+   Object current = root(RootIndex::kActiveContinuation);
+   DCHECK(!current.IsUndefined());
+-  thread_local_top()->stack_.ClearStackSegments();
+-  wasm::StackMemory* stack = Managed<wasm::StackMemory>::cast(
+-                                 WasmContinuationObject::cast(current).stack())
+-                                 .get()
+-                                 .get();
++  stack().ClearStackSegments();
++  wasm::StackMemory* wasm_stack =
++      Managed<wasm::StackMemory>::cast(
++          WasmContinuationObject::cast(current).stack())
++          .get()
++          .get();
+   current = WasmContinuationObject::cast(current).parent();
+-  thread_local_top()->stack_.SetStackStart(
+-      reinterpret_cast<void*>(stack->base()));
++  heap()->SetStackStart(reinterpret_cast<void*>(wasm_stack->base()));
+   // We don't need to add all inactive stacks. Only the ones in the active chain
+   // may contain cpp heap pointers.
+   while (!current.IsUndefined()) {
+     auto cont = WasmContinuationObject::cast(current);
+-    auto* stack = Managed<wasm::StackMemory>::cast(cont.stack()).get().get();
+-    thread_local_top()->stack_.AddStackSegment(
+-        reinterpret_cast<const void*>(stack->base()),
+-        reinterpret_cast<const void*>(stack->jmpbuf()->sp));
++    auto* wasm_stack =
++        Managed<wasm::StackMemory>::cast(cont.stack()).get().get();
++    stack().AddStackSegment(
++        reinterpret_cast<const void*>(wasm_stack->base()),
++        reinterpret_cast<const void*>(wasm_stack->jmpbuf()->sp));
+     current = cont.parent();
+   }
+ }
+@@ -3377,20 +3378,13 @@ void Isolate::Delete(Isolate* isolate) {
+   Isolate* saved_isolate = isolate->TryGetCurrent();
+   SetIsolateThreadLocals(isolate, nullptr);
+   isolate->set_thread_id(ThreadId::Current());
+-  isolate->thread_local_top()->stack_ =
+-      saved_isolate ? std::move(saved_isolate->thread_local_top()->stack_)
+-                    : ::heap::base::Stack(base::Stack::GetStackStart());
++  isolate->heap()->SetStackStart(base::Stack::GetStackStart());
+ 
+   bool owns_shared_isolate = isolate->owns_shared_isolate_;
+   Isolate* maybe_shared_isolate = isolate->shared_isolate_;
+ 
+   isolate->Deinit();
+ 
+-  // Restore the saved isolate's stack.
+-  if (saved_isolate)
+-    saved_isolate->thread_local_top()->stack_ =
+-        std::move(isolate->thread_local_top()->stack_);
+-
+ #ifdef DEBUG
+   non_disposed_isolates_--;
+ #endif  // DEBUG
+@@ -4647,6 +4641,10 @@ bool Isolate::Init(SnapshotData* startup_snapshot_data,
+ void Isolate::Enter() {
+   Isolate* current_isolate = nullptr;
+   PerIsolateThreadData* current_data = CurrentPerIsolateThreadData();
++
++  // Set the stack start for the main thread that enters the isolate.
++  heap()->SetStackStart(base::Stack::GetStackStart());
++
+   if (current_data != nullptr) {
+     current_isolate = current_data->isolate_;
+     DCHECK_NOT_NULL(current_isolate);
+diff --git a/src/execution/isolate.h b/src/execution/isolate.h
+index a32f999fe5..1cb6e10661 100644
+--- a/v8/src/execution/isolate.h
++++ b/v8/src/execution/isolate.h
+@@ -32,6 +32,7 @@
+ #include "src/execution/stack-guard.h"
+ #include "src/handles/handles.h"
+ #include "src/handles/traced-handles.h"
++#include "src/heap/base/stack.h"
+ #include "src/heap/factory.h"
+ #include "src/heap/heap.h"
+ #include "src/heap/read-only-heap.h"
+@@ -2022,6 +2023,8 @@ class V8_EXPORT_PRIVATE Isolate final : private HiddenFactory {
+   SimulatorData* simulator_data() { return simulator_data_; }
+ #endif
+ 
++  ::heap::base::Stack& stack() { return stack_; }
++
+ #ifdef V8_ENABLE_WEBASSEMBLY
+   wasm::StackMemory*& wasm_stacks() { return wasm_stacks_; }
+   // Update the thread local's Stack object so that it is aware of the new stack
+@@ -2520,6 +2523,9 @@ class V8_EXPORT_PRIVATE Isolate final : private HiddenFactory {
+   // The mutex only guards adding pages, the retrieval is signal safe.
+   base::Mutex code_pages_mutex_;
+ 
++  // Stack information for the main thread.
++  ::heap::base::Stack stack_;
++
+ #ifdef V8_ENABLE_WEBASSEMBLY
+   wasm::StackMemory* wasm_stacks_;
+ #endif
+diff --git a/src/execution/thread-local-top.cc b/src/execution/thread-local-top.cc
+index 0d7071ddda..05cc20b8e4 100644
+--- a/v8/src/execution/thread-local-top.cc
++++ b/v8/src/execution/thread-local-top.cc
+@@ -37,14 +37,12 @@ void ThreadLocalTop::Clear() {
+   current_embedder_state_ = nullptr;
+   failed_access_check_callback_ = nullptr;
+   thread_in_wasm_flag_address_ = kNullAddress;
+-  stack_ = ::heap::base::Stack();
+ }
+ 
+ void ThreadLocalTop::Initialize(Isolate* isolate) {
+   Clear();
+   isolate_ = isolate;
+   thread_id_ = ThreadId::Current();
+-  stack_.SetStackStart(base::Stack::GetStackStart());
+ #if V8_ENABLE_WEBASSEMBLY
+   thread_in_wasm_flag_address_ = reinterpret_cast<Address>(
+       trap_handler::GetThreadInWasmThreadLocalAddress());
+diff --git a/src/execution/thread-local-top.h b/src/execution/thread-local-top.h
+index 43fec0a7df..989c817f31 100644
+--- a/v8/src/execution/thread-local-top.h
++++ b/v8/src/execution/thread-local-top.h
+@@ -10,7 +10,6 @@
+ #include "include/v8-unwinder.h"
+ #include "src/common/globals.h"
+ #include "src/execution/thread-id.h"
+-#include "src/heap/base/stack.h"
+ #include "src/objects/contexts.h"
+ #include "src/utils/utils.h"
+ 
+@@ -30,7 +29,7 @@ class ThreadLocalTop {
+   // TODO(all): This is not particularly beautiful. We should probably
+   // refactor this to really consist of just Addresses and 32-bit
+   // integer fields.
+-  static constexpr uint32_t kSizeInBytes = 30 * kSystemPointerSize;
++  static constexpr uint32_t kSizeInBytes = 25 * kSystemPointerSize;
+ 
+   // Does early low-level initialization that does not depend on the
+   // isolate being present.
+@@ -147,9 +146,6 @@ class ThreadLocalTop {
+ 
+   // Address of the thread-local "thread in wasm" flag.
+   Address thread_in_wasm_flag_address_;
+-
+-  // Stack information.
+-  ::heap::base::Stack stack_;
+ };
+ 
+ }  // namespace internal
+diff --git a/src/heap/heap.cc b/src/heap/heap.cc
+index 51a90ddcab..b5722ab6ec 100644
+--- a/v8/src/heap/heap.cc
++++ b/v8/src/heap/heap.cc
+@@ -5851,9 +5851,7 @@ void Heap::SetStackStart(void* stack_start) {
+   stack().SetStackStart(stack_start);
+ }
+ 
+-::heap::base::Stack& Heap::stack() {
+-  return isolate_->thread_local_top()->stack_;
+-}
++::heap::base::Stack& Heap::stack() { return isolate_->stack(); }
+ 
+ void Heap::RegisterExternallyReferencedObject(Address* location) {
+   Object object = TracedHandles::Mark(location, TracedHandles::MarkMode::kAll);
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 54b2bc4fd3a3..b4b03f3b1410 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -1,14 +1,14 @@
 # Template file for 'chromium'
 pkgname=chromium
 # See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version
-version=109.0.5414.119
+version=110.0.5481.77
 revision=1
 archs="i686* x86_64* aarch64* armv7l*"
 hostmakedepends="
  $(vopt_if clang "clang lld llvm12")
  $(vopt_if js_optimize openjdk)
  bison git gperf hwids ninja nodejs perl pkg-config python3
- libatomic-devel libepoxy-devel libevent-devel libglib-devel wayland-devel"
+ libatomic-devel libepoxy-devel libevent-devel libglib-devel"
 makedepends="
  alsa-lib-devel libdav1d-devel brotli-devel cups-devel elfutils-devel ffmpeg-devel
  fontconfig-devel freetype-devel gtk+3-devel jsoncpp-devel libXScrnSaver-devel
@@ -18,7 +18,7 @@ makedepends="
  libpng-devel libva-devel libwebp-devel libxml2-devel libxshmfence-devel
  libxslt-devel woff2-devel minizip-devel mit-krb5-devel nss-devel opus-devel
  pciutils-devel re2-devel snappy-devel speech-dispatcher-devel speex-devel
- xcb-proto zlib-devel libaom-devel
+ xcb-proto zlib-devel libaom-devel libffi-devel
  $(vopt_if pipewire pipewire-devel)
  $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel)"
@@ -28,7 +28,7 @@ maintainer="Duncaen <duncaen@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://www.chromium.org/"
 distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
-checksum=cbcdef5ee71acb53790ded3adef86871812b46e9f208dce8ec3f8ab04958be2d
+checksum=e348ab2dc4311083e729d714a81e95dd9db108ff71437dde451c97ac939881ce
 
 lib32disabled=yes
 
@@ -213,8 +213,7 @@ do_configure() {
 		'enable_hangout_services_extension=true'
 
 		'use_system_harfbuzz=false'
-		'use_system_libwayland=true'
-		'use_system_wayland_scanner=true'
+		'use_system_libffi=true'
 
 		'use_qt=false'
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PR PATCH] [Updated] chromium: update to 110.0.5481.77.
  2023-02-08 16:16 [PR PATCH] chromium: update to 110.0.5481.77 Duncaen
@ 2023-02-08 23:25 ` Duncaen
  2023-02-08 23:25 ` [PR PATCH] [Merged]: " Duncaen
  1 sibling, 0 replies; 3+ messages in thread
From: Duncaen @ 2023-02-08 23:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 411 bytes --]

There is an updated pull request by Duncaen against master on the void-packages repository

https://github.com/Duncaen/void-packages chromium-110
https://github.com/void-linux/void-packages/pull/42145

chromium: update to 110.0.5481.77.
[ci skip]

* [x] x86_64-glibc
* [ ] x86_64-musl
* [ ] aarch64-musl
* [ ] i686

A patch file from https://github.com/void-linux/void-packages/pull/42145.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-110-42145.patch --]
[-- Type: text/x-diff, Size: 17610 bytes --]

From 97bbf83c3bd5774e6de1aa60ee749c8e5e160fc6 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 8 Feb 2023 17:15:36 +0100
Subject: [PATCH] chromium: update to 110.0.5481.77.

---
 ...chromium-110-CredentialUIEntry-const.patch |  41 ++++
 ...romium-110-DarkModeLABColorSpace-pow.patch |  37 ++++
 .../chromium-110-NativeThemeBase-fabs.patch   |  29 +++
 ...the-Stack-object-from-ThreadLocalTop.patch | 205 ++++++++++++++++++
 srcpkgs/chromium/template                     |  11 +-
 5 files changed, 317 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/chromium/patches/chromium-110-CredentialUIEntry-const.patch
 create mode 100644 srcpkgs/chromium/patches/chromium-110-DarkModeLABColorSpace-pow.patch
 create mode 100644 srcpkgs/chromium/patches/chromium-110-NativeThemeBase-fabs.patch
 create mode 100644 srcpkgs/chromium/patches/v8-move-the-Stack-object-from-ThreadLocalTop.patch

diff --git a/srcpkgs/chromium/patches/chromium-110-CredentialUIEntry-const.patch b/srcpkgs/chromium/patches/chromium-110-CredentialUIEntry-const.patch
new file mode 100644
index 000000000000..eb68aa27aca4
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-110-CredentialUIEntry-const.patch
@@ -0,0 +1,41 @@
+From b4e56d22275cae5a910463a966a96345430a83ea Mon Sep 17 00:00:00 2001
+From: Ivan Murashov <ivan.murashov@lge.com>
+Date: Sat, 17 Dec 2022 12:06:01 +0000
+Subject: [PATCH] libstdc++: Don't use const members in std::vector in password_manager::CredentialUIEntry
+
+Otherwise build fails when building with use_custom_libcxx=false.
+The error example:
+std::vector must have a non-const, non-volatile value_type
+
+Implementation of std::vector in libstdc++ does not allow const.
+
+Bug: 957519
+Change-Id: I089de2d52df25138d74dbf01fdf61d6301b4d871
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4111037
+Reviewed-by: Mohamed Amir Yosef <mamir@chromium.org>
+Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1084697}
+---
+
+diff --git a/components/password_manager/core/browser/ui/credential_ui_entry.cc b/components/password_manager/core/browser/ui/credential_ui_entry.cc
+index 1e0766a..a9a34f7 100644
+--- a/components/password_manager/core/browser/ui/credential_ui_entry.cc
++++ b/components/password_manager/core/browser/ui/credential_ui_entry.cc
+@@ -97,7 +97,7 @@
+   // For cases when the notes differ within grouped passwords (e.g: a
+   // credential exists in both account and profile stores), respective notes
+   // should be concatenated and linebreak used as a delimiter.
+-  std::vector<const std::u16string> notes_with_duplicates;
++  std::vector<std::u16string> notes_with_duplicates;
+   for (const auto& form : forms) {
+     // Only notes with an empty `unique_display_name` are supported in the
+     // settings UI.
+@@ -109,7 +109,7 @@
+   }
+   auto unique_notes =
+       base::MakeFlatSet<std::u16string>(std::move(notes_with_duplicates));
+-  note = base::JoinString(std::vector<const std::u16string>(
++  note = base::JoinString(std::vector<std::u16string>(
+                               unique_notes.begin(), unique_notes.end()),
+                           u"\n");
+ 
diff --git a/srcpkgs/chromium/patches/chromium-110-DarkModeLABColorSpace-pow.patch b/srcpkgs/chromium/patches/chromium-110-DarkModeLABColorSpace-pow.patch
new file mode 100644
index 000000000000..91f1aee073e6
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-110-DarkModeLABColorSpace-pow.patch
@@ -0,0 +1,37 @@
+From 795c311aae4b718585bc6194189f061000c823a1 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Fri, 23 Dec 2022 14:28:55 +0000
+Subject: [PATCH] libstdc++: fix narrowing in blink::DarkModeLABColorSpace
+
+Clang-14 errors out with narrowing from double to float. Use std::pow
+instead.
+---
+ .../renderer/platform/graphics/dark_mode_lab_color_space.h   | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h b/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h
+index 999c3e5..c18ea7b 100644
+--- a/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h
++++ b/third_party/blink/renderer/platform/graphics/dark_mode_lab_color_space.h
+@@ -125,7 +125,7 @@ class DarkModeLABColorSpace {
+   // https://en.wikipedia.org/wiki/CIELAB_color_space#Reverse_transformation.
+   SkV3 FromXYZ(const SkV3& v) const {
+     auto f = [](float x) {
+-      return x > kSigma3 ? pow(x, 1.0f / 3.0f)
++      return x > kSigma3 ? std::pow(x, 1.0f / 3.0f)
+                          : x / (3 * kSigma2) + 4.0f / 29.0f;
+     };
+ 
+@@ -145,7 +145,8 @@ class DarkModeLABColorSpace {
+   // https://en.wikipedia.org/wiki/CIELAB_color_space#Forward_transformation.
+   SkV3 ToXYZ(const SkV3& lab) const {
+     auto invf = [](float x) {
+-      return x > kSigma ? pow(x, 3.0f) : 3.0f * kSigma2 * (x - 4.0f / 29.0f);
++      return x > kSigma ? std::pow(x, 3.0f)
++                        : 3.0f * kSigma2 * (x - 4.0f / 29.0f);
+     };
+ 
+     SkV3 v = {Clamp(lab.x, 0.0f, 100.0f), Clamp(lab.y, -128.0f, 128.0f),
+-- 
+2.38.2
+
diff --git a/srcpkgs/chromium/patches/chromium-110-NativeThemeBase-fabs.patch b/srcpkgs/chromium/patches/chromium-110-NativeThemeBase-fabs.patch
new file mode 100644
index 000000000000..c7d0e8b1de8d
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-110-NativeThemeBase-fabs.patch
@@ -0,0 +1,29 @@
+From 07f0a87e4409f27854b3a1d17f270a3497f38947 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Mon, 19 Dec 2022 19:07:37 +0000
+Subject: [PATCH] GCC: use fabsf in ui::NativeThemeBase::OutlineColor
+
+Template deduction fails for base::clamp, because return type of
+fabs is double and all other parameters are float.
+
+Bug: 819294
+Change-Id: I34f1c9c99d13f69097d899bfcb0526cbdf4fe1c1
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4110869
+Reviewed-by: Peter Kasting <pkasting@chromium.org>
+Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
+Cr-Commit-Position: refs/heads/main@{#1085034}
+---
+
+diff --git a/ui/native_theme/native_theme_base.cc b/ui/native_theme/native_theme_base.cc
+index 169c60c..36db49a 100644
+--- a/ui/native_theme/native_theme_base.cc
++++ b/ui/native_theme/native_theme_base.cc
+@@ -1336,7 +1336,7 @@
+   // The following code has been tested to look OK with all of the
+   // default GTK themes.
+   SkScalar min_diff = base::clamp((hsv1[1] + hsv2[1]) * 1.2f, 0.28f, 0.5f);
+-  SkScalar diff = base::clamp(fabs(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f);
++  SkScalar diff = base::clamp(fabsf(hsv1[2] - hsv2[2]) / 2, min_diff, 0.5f);
+ 
+   if (hsv1[2] + hsv2[2] > 1.0)
+     diff = -diff;
diff --git a/srcpkgs/chromium/patches/v8-move-the-Stack-object-from-ThreadLocalTop.patch b/srcpkgs/chromium/patches/v8-move-the-Stack-object-from-ThreadLocalTop.patch
new file mode 100644
index 000000000000..73e042cf5562
--- /dev/null
+++ b/srcpkgs/chromium/patches/v8-move-the-Stack-object-from-ThreadLocalTop.patch
@@ -0,0 +1,205 @@
+From 7b6fbcd0a6700db498ad55db046ecda92c8ee8c1 Mon Sep 17 00:00:00 2001
+From: Nikolaos Papaspyrou <nikolaos@chromium.org>
+Date: Sun, 29 Jan 2023 17:18:08 +0100
+Subject: [PATCH] Merge: [heap] Move the Stack object from ThreadLocalTop to
+ Isolate
+
+This is just for nodejs, do not backmerge to 11.0.
+(cherry picked from commit 1e4b71d99fea5ea6bb4bf6420585a7819872bb0f)
+
+> Change-Id: I026a35af3bc6999a09b21f277756d4454c086343
+> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4152476
+> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
+> Reviewed-by: Omer Katz <omerkatz@chromium.org>
+> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
+> Cr-Commit-Position: refs/heads/main@{#85445}
+
+Stack information is thread-specific and, until now, it was stored in a
+field in ThreadLocalTop. This CL moves stack information to the isolate
+and makes sure to update the stack start whenever a main thread enters
+the isolate. At the same time, the Stack object is refactored and
+simplified.
+
+As a side effect, after removing the Stack object, ThreadLocalTop
+satisfies the std::standard_layout trait; this fixes some issues
+observed with different C++ compilers.
+
+Bug: v8:13630
+Bug: v8:13257
+Change-Id: I4be1f04fe90699e1a6e456dad3e0dd623851acce
+---
+ src/execution/isolate.cc          | 36 +++++++++++++++----------------
+ src/execution/isolate.h           |  6 ++++++
+ src/execution/thread-local-top.cc |  2 --
+ src/execution/thread-local-top.h  |  6 +-----
+ src/heap/heap.cc                  |  4 +---
+ 5 files changed, 25 insertions(+), 29 deletions(-)
+
+diff --git a/src/execution/isolate.cc b/src/execution/isolate.cc
+index 4edf364e0a..be4fd400d2 100644
+--- a/v8/src/execution/isolate.cc
++++ b/v8/src/execution/isolate.cc
+@@ -3074,22 +3074,23 @@ void Isolate::AddSharedWasmMemory(Handle<WasmMemoryObject> memory_object) {
+ void Isolate::RecordStackSwitchForScanning() {
+   Object current = root(RootIndex::kActiveContinuation);
+   DCHECK(!current.IsUndefined());
+-  thread_local_top()->stack_.ClearStackSegments();
+-  wasm::StackMemory* stack = Managed<wasm::StackMemory>::cast(
+-                                 WasmContinuationObject::cast(current).stack())
+-                                 .get()
+-                                 .get();
++  stack().ClearStackSegments();
++  wasm::StackMemory* wasm_stack =
++      Managed<wasm::StackMemory>::cast(
++          WasmContinuationObject::cast(current).stack())
++          .get()
++          .get();
+   current = WasmContinuationObject::cast(current).parent();
+-  thread_local_top()->stack_.SetStackStart(
+-      reinterpret_cast<void*>(stack->base()));
++  heap()->SetStackStart(reinterpret_cast<void*>(wasm_stack->base()));
+   // We don't need to add all inactive stacks. Only the ones in the active chain
+   // may contain cpp heap pointers.
+   while (!current.IsUndefined()) {
+     auto cont = WasmContinuationObject::cast(current);
+-    auto* stack = Managed<wasm::StackMemory>::cast(cont.stack()).get().get();
+-    thread_local_top()->stack_.AddStackSegment(
+-        reinterpret_cast<const void*>(stack->base()),
+-        reinterpret_cast<const void*>(stack->jmpbuf()->sp));
++    auto* wasm_stack =
++        Managed<wasm::StackMemory>::cast(cont.stack()).get().get();
++    stack().AddStackSegment(
++        reinterpret_cast<const void*>(wasm_stack->base()),
++        reinterpret_cast<const void*>(wasm_stack->jmpbuf()->sp));
+     current = cont.parent();
+   }
+ }
+@@ -3377,20 +3378,13 @@ void Isolate::Delete(Isolate* isolate) {
+   Isolate* saved_isolate = isolate->TryGetCurrent();
+   SetIsolateThreadLocals(isolate, nullptr);
+   isolate->set_thread_id(ThreadId::Current());
+-  isolate->thread_local_top()->stack_ =
+-      saved_isolate ? std::move(saved_isolate->thread_local_top()->stack_)
+-                    : ::heap::base::Stack(base::Stack::GetStackStart());
++  isolate->heap()->SetStackStart(base::Stack::GetStackStart());
+ 
+   bool owns_shared_isolate = isolate->owns_shared_isolate_;
+   Isolate* maybe_shared_isolate = isolate->shared_isolate_;
+ 
+   isolate->Deinit();
+ 
+-  // Restore the saved isolate's stack.
+-  if (saved_isolate)
+-    saved_isolate->thread_local_top()->stack_ =
+-        std::move(isolate->thread_local_top()->stack_);
+-
+ #ifdef DEBUG
+   non_disposed_isolates_--;
+ #endif  // DEBUG
+@@ -4647,6 +4641,10 @@ bool Isolate::Init(SnapshotData* startup_snapshot_data,
+ void Isolate::Enter() {
+   Isolate* current_isolate = nullptr;
+   PerIsolateThreadData* current_data = CurrentPerIsolateThreadData();
++
++  // Set the stack start for the main thread that enters the isolate.
++  heap()->SetStackStart(base::Stack::GetStackStart());
++
+   if (current_data != nullptr) {
+     current_isolate = current_data->isolate_;
+     DCHECK_NOT_NULL(current_isolate);
+diff --git a/src/execution/isolate.h b/src/execution/isolate.h
+index a32f999fe5..1cb6e10661 100644
+--- a/v8/src/execution/isolate.h
++++ b/v8/src/execution/isolate.h
+@@ -32,6 +32,7 @@
+ #include "src/execution/stack-guard.h"
+ #include "src/handles/handles.h"
+ #include "src/handles/traced-handles.h"
++#include "src/heap/base/stack.h"
+ #include "src/heap/factory.h"
+ #include "src/heap/heap.h"
+ #include "src/heap/read-only-heap.h"
+@@ -2022,6 +2023,8 @@ class V8_EXPORT_PRIVATE Isolate final : private HiddenFactory {
+   SimulatorData* simulator_data() { return simulator_data_; }
+ #endif
+ 
++  ::heap::base::Stack& stack() { return stack_; }
++
+ #ifdef V8_ENABLE_WEBASSEMBLY
+   wasm::StackMemory*& wasm_stacks() { return wasm_stacks_; }
+   // Update the thread local's Stack object so that it is aware of the new stack
+@@ -2520,6 +2523,9 @@ class V8_EXPORT_PRIVATE Isolate final : private HiddenFactory {
+   // The mutex only guards adding pages, the retrieval is signal safe.
+   base::Mutex code_pages_mutex_;
+ 
++  // Stack information for the main thread.
++  ::heap::base::Stack stack_;
++
+ #ifdef V8_ENABLE_WEBASSEMBLY
+   wasm::StackMemory* wasm_stacks_;
+ #endif
+diff --git a/src/execution/thread-local-top.cc b/src/execution/thread-local-top.cc
+index 0d7071ddda..05cc20b8e4 100644
+--- a/v8/src/execution/thread-local-top.cc
++++ b/v8/src/execution/thread-local-top.cc
+@@ -37,14 +37,12 @@ void ThreadLocalTop::Clear() {
+   current_embedder_state_ = nullptr;
+   failed_access_check_callback_ = nullptr;
+   thread_in_wasm_flag_address_ = kNullAddress;
+-  stack_ = ::heap::base::Stack();
+ }
+ 
+ void ThreadLocalTop::Initialize(Isolate* isolate) {
+   Clear();
+   isolate_ = isolate;
+   thread_id_ = ThreadId::Current();
+-  stack_.SetStackStart(base::Stack::GetStackStart());
+ #if V8_ENABLE_WEBASSEMBLY
+   thread_in_wasm_flag_address_ = reinterpret_cast<Address>(
+       trap_handler::GetThreadInWasmThreadLocalAddress());
+diff --git a/src/execution/thread-local-top.h b/src/execution/thread-local-top.h
+index 43fec0a7df..989c817f31 100644
+--- a/v8/src/execution/thread-local-top.h
++++ b/v8/src/execution/thread-local-top.h
+@@ -10,7 +10,6 @@
+ #include "include/v8-unwinder.h"
+ #include "src/common/globals.h"
+ #include "src/execution/thread-id.h"
+-#include "src/heap/base/stack.h"
+ #include "src/objects/contexts.h"
+ #include "src/utils/utils.h"
+ 
+@@ -30,7 +29,7 @@ class ThreadLocalTop {
+   // TODO(all): This is not particularly beautiful. We should probably
+   // refactor this to really consist of just Addresses and 32-bit
+   // integer fields.
+-  static constexpr uint32_t kSizeInBytes = 30 * kSystemPointerSize;
++  static constexpr uint32_t kSizeInBytes = 25 * kSystemPointerSize;
+ 
+   // Does early low-level initialization that does not depend on the
+   // isolate being present.
+@@ -147,9 +146,6 @@ class ThreadLocalTop {
+ 
+   // Address of the thread-local "thread in wasm" flag.
+   Address thread_in_wasm_flag_address_;
+-
+-  // Stack information.
+-  ::heap::base::Stack stack_;
+ };
+ 
+ }  // namespace internal
+diff --git a/src/heap/heap.cc b/src/heap/heap.cc
+index 51a90ddcab..b5722ab6ec 100644
+--- a/v8/src/heap/heap.cc
++++ b/v8/src/heap/heap.cc
+@@ -5851,9 +5851,7 @@ void Heap::SetStackStart(void* stack_start) {
+   stack().SetStackStart(stack_start);
+ }
+ 
+-::heap::base::Stack& Heap::stack() {
+-  return isolate_->thread_local_top()->stack_;
+-}
++::heap::base::Stack& Heap::stack() { return isolate_->stack(); }
+ 
+ void Heap::RegisterExternallyReferencedObject(Address* location) {
+   Object object = TracedHandles::Mark(location, TracedHandles::MarkMode::kAll);
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 54b2bc4fd3a3..b4b03f3b1410 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -1,14 +1,14 @@
 # Template file for 'chromium'
 pkgname=chromium
 # See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version
-version=109.0.5414.119
+version=110.0.5481.77
 revision=1
 archs="i686* x86_64* aarch64* armv7l*"
 hostmakedepends="
  $(vopt_if clang "clang lld llvm12")
  $(vopt_if js_optimize openjdk)
  bison git gperf hwids ninja nodejs perl pkg-config python3
- libatomic-devel libepoxy-devel libevent-devel libglib-devel wayland-devel"
+ libatomic-devel libepoxy-devel libevent-devel libglib-devel"
 makedepends="
  alsa-lib-devel libdav1d-devel brotli-devel cups-devel elfutils-devel ffmpeg-devel
  fontconfig-devel freetype-devel gtk+3-devel jsoncpp-devel libXScrnSaver-devel
@@ -18,7 +18,7 @@ makedepends="
  libpng-devel libva-devel libwebp-devel libxml2-devel libxshmfence-devel
  libxslt-devel woff2-devel minizip-devel mit-krb5-devel nss-devel opus-devel
  pciutils-devel re2-devel snappy-devel speech-dispatcher-devel speex-devel
- xcb-proto zlib-devel libaom-devel
+ xcb-proto zlib-devel libaom-devel libffi-devel
  $(vopt_if pipewire pipewire-devel)
  $(vopt_if pulseaudio pulseaudio-devel)
  $(vopt_if sndio sndio-devel)"
@@ -28,7 +28,7 @@ maintainer="Duncaen <duncaen@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://www.chromium.org/"
 distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
-checksum=cbcdef5ee71acb53790ded3adef86871812b46e9f208dce8ec3f8ab04958be2d
+checksum=e348ab2dc4311083e729d714a81e95dd9db108ff71437dde451c97ac939881ce
 
 lib32disabled=yes
 
@@ -213,8 +213,7 @@ do_configure() {
 		'enable_hangout_services_extension=true'
 
 		'use_system_harfbuzz=false'
-		'use_system_libwayland=true'
-		'use_system_wayland_scanner=true'
+		'use_system_libffi=true'
 
 		'use_qt=false'
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PR PATCH] [Merged]: chromium: update to 110.0.5481.77.
  2023-02-08 16:16 [PR PATCH] chromium: update to 110.0.5481.77 Duncaen
  2023-02-08 23:25 ` [PR PATCH] [Updated] " Duncaen
@ 2023-02-08 23:25 ` Duncaen
  1 sibling, 0 replies; 3+ messages in thread
From: Duncaen @ 2023-02-08 23:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 250 bytes --]

There's a merged pull request on the void-packages repository

chromium: update to 110.0.5481.77.
https://github.com/void-linux/void-packages/pull/42145

Description:
[ci skip]

* [x] x86_64-glibc
* [ ] x86_64-musl
* [ ] aarch64-musl
* [ ] i686

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-02-08 23:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-08 16:16 [PR PATCH] chromium: update to 110.0.5481.77 Duncaen
2023-02-08 23:25 ` [PR PATCH] [Updated] " Duncaen
2023-02-08 23:25 ` [PR PATCH] [Merged]: " Duncaen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).