commit:     f9174d614aabab26d9bddaa84d45b235de8e3792
Author:     Stephan Hartmann <sultan <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 10 17:43:42 2021 +0000
Commit:     Stephan Hartmann <sultan <AT> gentoo <DOT> org>
CommitDate: Sun Oct 10 17:45:29 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9174d61

www-client/chromium: dev channel bump to 96.0.4662.6

Bug: https://bugs.gentoo.org/813705
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Stephan Hartmann <sultan <AT> gentoo.org>

 www-client/chromium/Manifest                       |  4 +-
 ...0.4655.0.ebuild => chromium-96.0.4662.6.ebuild} | 12 ++--
 .../files/chromium-96-EnumTable-crash.patch        | 76 ++++++++++++++++++++++
 3 files changed, 83 insertions(+), 9 deletions(-)

diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 709f243ac8b..2268a15fbb4 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -3,5 +3,5 @@ DIST chromium-94.0.4606.71.tar.xz 1039867644 BLAKE2B 
fca167a133b417554e22a4868a4
 DIST chromium-94.0.4606.81.tar.xz 1039841108 BLAKE2B 
ff7cead6f4d12e31d48458f5307d2d6055041493f95bee38e1481aa3f16360dbcee6484fc4441dc0bec26313139786c04735cff8f29e410ad23586da10626f8c
 SHA512 
59bde106e41da1daa1e806f790cbeea8623e5b5a191222981981f2722da97a26c7f70cbe3a9108e5d84e411712627657a86b3931ec940121c7e61bdb09b5bee8
 DIST chromium-95-patchset-4.tar.xz 4308 BLAKE2B 
e91cb78d2357af8c0dfc66e4d148c5e6ef20cf9a811bcebf411e07cc5af73f30760d889842923afb2945e57b0f67330deac3f9068b6ce7c487482a6434e5c672
 SHA512 
152657e13afab3caca6a9ff6c0b51203f5bc8b0a4075a4396794d7a85caddce1b26f989c7dede5fa9a54316334099d21889e6767885fbf974260a6e9bd90df9d
 DIST chromium-95.0.4638.40.tar.xz 1213280408 BLAKE2B 
29421623b9adf95608574226a5ddf3666c0d8e51225c047f9978fee34b7460324bf31785c1b68213e5264e8b9c77ed3c496b8cdc327af5e8afaec5af92074e16
 SHA512 
3ccd24a93d4a68f7646d44862127746c78766451071790cb541dbe1e1eeb959ee5e2bf31859ae139971f70ca1680e15e3cbaed95303473f0bbd857a6fe28dcb7
-DIST chromium-96-patchset-2.tar.xz 4208 BLAKE2B 
a5b1c9eafb7a6807bc28ba9f6f1136adc73337c7964c22c4a245ab7c622fb9f6daa28eb46292cbc80d5fd8ac827d733f36929e620327d637f8bae60e3e41b27a
 SHA512 
d8b5e94f95e3b57313fa5e132940056f73fb4f0ea922db0b40c6c41f0ee51e0c9043c816b378a9e5bf3a151d4cdf293c6a33c98ab2248b2b9e8109f8b4317bfd
-DIST chromium-96.0.4655.0.tar.xz 1218779336 BLAKE2B 
ee3bb0dfa7a417ed39d5f33fcac581856c9cd58579b9b24e037cc93998dfba39807a36e690b30a70afe47b2af772e9caa222825354dba3802bc4b2a88e9d79b3
 SHA512 
cc77db8f028968176cae647897812e765b477664a8f27d7df2b832f378891719244aace2b2a9a7ff3ca43e3898c39665d5f632e14b6c010a45056fc5f8a305e4
+DIST chromium-96-patchset-3.tar.xz 4576 BLAKE2B 
c483194b40d689374013f105718f611e647813b205dbcf0fe124efdb3e150569daa27aba6c0aacdff8206c925a5568553251dd813d1336809caa42c4aa43e993
 SHA512 
e837243d46fe1be839387f221a6e7c68da3001ce120eb2b2c2e2161d11d5c56e82f3dc1d1b616ddb6f7fd4e3875775ca6db6bc71356698afafd7dc114174fb9d
+DIST chromium-96.0.4662.6.tar.xz 1220630676 BLAKE2B 
821a42f67ef45fb1305489aa1720bc1f87da95fd3d6b92a28224d25a9c047ed6f5d33656126b92c53875600de8fe821d5cb2b20282be49cd8adb5f51d2ee2063
 SHA512 
781d9b7b4b096e6d8ca6bdbcd25611f2f37ac6a07e787a052bc98cdd90df32f2fc208be171b06c08786dd71595657856926c5cd7401d92d7cd71776f7bf286db

diff --git a/www-client/chromium/chromium-96.0.4655.0.ebuild 
b/www-client/chromium/chromium-96.0.4662.6.ebuild
similarity index 98%
rename from www-client/chromium/chromium-96.0.4655.0.ebuild
rename to www-client/chromium/chromium-96.0.4662.6.ebuild
index d53a4e5b63b..bac8a0908d6 100644
--- a/www-client/chromium/chromium-96.0.4655.0.ebuild
+++ b/www-client/chromium/chromium-96.0.4662.6.ebuild
@@ -1,7 +1,7 @@
 # Copyright 2009-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 PYTHON_COMPAT=( python3_{8,9} )
 PYTHON_REQ_USE="xml"
 
@@ -13,7 +13,7 @@ inherit check-reqs chromium-2 desktop flag-o-matic 
ninja-utils pax-utils python-
 
 DESCRIPTION="Open-source version of Google Chrome web browser"
 HOMEPAGE="https://chromium.org/";
-PATCHSET="2"
+PATCHSET="3"
 PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
 
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
        
https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz";
@@ -21,7 +21,7 @@ 
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless 
+js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast 
selinux +suid +system-ffmpeg +system-harfbuzz +system-icu vaapi wayland 
widevine"
+IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless 
+js-type-check kerberos +official pic +proprietary-codecs pulseaudio screencast 
selinux +suid +system-ffmpeg +system-harfbuzz +system-icu vaapi wayland 
widevine"
 REQUIRED_USE="
        component-build? ( !suid )
        screencast? ( wayland )
@@ -231,11 +231,8 @@ src_prepare() {
 
        local PATCHES=(
                "${WORKDIR}/patches"
-               "${FILESDIR}/chromium-93-EnumTable-crash.patch"
                "${FILESDIR}/chromium-93-InkDropHost-crash.patch"
-               "${FILESDIR}/chromium-95-eigen-avx-1.patch"
-               "${FILESDIR}/chromium-95-eigen-avx-2.patch"
-               "${FILESDIR}/chromium-95-eigen-avx-3.patch"
+               "${FILESDIR}/chromium-96-EnumTable-crash.patch"
                
"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
                "${FILESDIR}/chromium-shim_headers.patch"
        )
@@ -327,6 +324,7 @@ src_prepare() {
                
third_party/devtools-frontend/src/front_end/third_party/wasmparser
                
third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
                third_party/devtools-frontend/src/third_party
+               third_party/distributed_point_functions
                third_party/dom_distiller_js
                third_party/eigen3
                third_party/emoji-segmenter

diff --git a/www-client/chromium/files/chromium-96-EnumTable-crash.patch 
b/www-client/chromium/files/chromium-96-EnumTable-crash.patch
new file mode 100644
index 00000000000..9736739c822
--- /dev/null
+++ b/www-client/chromium/files/chromium-96-EnumTable-crash.patch
@@ -0,0 +1,76 @@
+diff --git a/components/cast_channel/enum_table.h 
b/components/cast_channel/enum_table.h
+index aad9e08..2f3fcad 100644
+--- a/components/cast_channel/enum_table.h
++++ b/components/cast_channel/enum_table.h
+@@ -8,6 +8,7 @@
+ #include <cstdint>
+ #include <cstring>
+ #include <ostream>
++#include <vector>
+ 
+ #include "base/check_op.h"
+ #include "base/macros.h"
+@@ -188,7 +189,6 @@ class
+   inline constexpr GenericEnumTableEntry(int32_t value);
+   inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece 
str);
+ 
+-  GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
+   GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
+ 
+  private:
+@@ -254,7 +254,6 @@ class EnumTable {
+     constexpr Entry(E value, base::StringPiece str)
+         : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
+ 
+-    Entry(const Entry&) = delete;
+     Entry& operator=(const Entry&) = delete;
+   };
+ 
+@@ -313,15 +312,14 @@ class EnumTable {
+     if (is_sorted_) {
+       const std::size_t index = static_cast<std::size_t>(value);
+       if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
+-        const auto& entry = data_.begin()[index];
++        const auto& entry = data_[index];
+         if (ANALYZER_ASSUME_TRUE(entry.has_str()))
+           return entry.str();
+       }
+       return absl::nullopt;
+     }
+     return GenericEnumTableEntry::FindByValue(
+-        reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
+-        data_.size(), static_cast<int32_t>(value));
++        &data_[0], data_.size(), static_cast<int32_t>(value));
+   }
+ 
+   // This overload of GetString is designed for cases where the argument is a
+@@ -349,8 +347,7 @@ class EnumTable {
+   // enum value directly.
+   absl::optional<E> GetEnum(base::StringPiece str) const {
+     auto* entry = GenericEnumTableEntry::FindByString(
+-        reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
+-        data_.size(), str);
++        &data_[0], data_.size(), str);
+     return entry ? static_cast<E>(entry->value) : absl::optional<E>();
+   }
+ 
+@@ -365,7 +362,7 @@ class EnumTable {
+   // Align the data on a cache line boundary.
+   alignas(64)
+ #endif
+-      std::initializer_list<Entry> data_;
++      const std::vector<Entry> data_;
+   bool is_sorted_;
+ 
+   constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
+@@ -377,8 +374,8 @@ class EnumTable {
+ 
+     for (std::size_t i = 0; i < data.size(); i++) {
+       for (std::size_t j = i + 1; j < data.size(); j++) {
+-        const Entry& ei = data.begin()[i];
+-        const Entry& ej = data.begin()[j];
++        const Entry& ei = data[i];
++        const Entry& ej = data[j];
+         DCHECK(ei.value != ej.value)
+             << "Found duplicate enum values at indices " << i << " and " << j;
+         DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))

Reply via email to