Gentoo Archives: gentoo-commits

From: Stephan Hartmann <sultan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/, www-client/chromium/files/
Date: Wed, 24 Nov 2021 08:06:53
Message-Id: 1637741204.06f038ad46e0e1e3b3b594d67356d08e45197ed2.sultan@gentoo
1 commit: 06f038ad46e0e1e3b3b594d67356d08e45197ed2
2 Author: Stephan Hartmann <sultan <AT> gentoo <DOT> org>
3 AuthorDate: Wed Nov 24 08:06:09 2021 +0000
4 Commit: Stephan Hartmann <sultan <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 24 08:06:44 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06f038ad
7
8 www-client/chromium: security cleanup
9
10 Bug: https://bugs.gentoo.org/824274
11 Package-Manager: Portage-3.0.28, Repoman-3.0.3
12 Signed-off-by: Stephan Hartmann <sultan <AT> gentoo.org>
13
14 www-client/chromium/Manifest | 2 -
15 www-client/chromium/chromium-95.0.4638.69.ebuild | 953 ---------------------
16 .../files/chromium-93-EnumTable-crash.patch | 79 --
17 .../chromium/files/chromium-95-eigen-avx-1.patch | 229 -----
18 .../chromium/files/chromium-95-eigen-avx-2.patch | 30 -
19 .../chromium/files/chromium-95-eigen-avx-3.patch | 44 -
20 .../chromium/files/chromium-95-harfbuzz-3.patch | 31 -
21 .../chromium/files/chromium-95-maldoca-zlib.patch | 13 -
22 .../chromium/files/chromium-95-xfce-maximize.patch | 30 -
23 9 files changed, 1411 deletions(-)
24
25 diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
26 index db139b55a9ca..7bc39bbdd2e5 100644
27 --- a/www-client/chromium/Manifest
28 +++ b/www-client/chromium/Manifest
29 @@ -1,5 +1,3 @@
30 -DIST chromium-95-patchset-4.tar.xz 4308 BLAKE2B e91cb78d2357af8c0dfc66e4d148c5e6ef20cf9a811bcebf411e07cc5af73f30760d889842923afb2945e57b0f67330deac3f9068b6ce7c487482a6434e5c672 SHA512 152657e13afab3caca6a9ff6c0b51203f5bc8b0a4075a4396794d7a85caddce1b26f989c7dede5fa9a54316334099d21889e6767885fbf974260a6e9bd90df9d
31 -DIST chromium-95.0.4638.69.tar.xz 1213470900 BLAKE2B 31619448fd42bce74dac4fb3b7e04c59a2eb05461358e4fa59ab7122b07cd2dc6632a1a8c92a9bacd93c78c37a9e7fadfa7b9ded6371697177c419ce4e6665a5 SHA512 e8845a3add5f784342c51c530ed4fbf144f8ab16701d9dd6a2eedbd255167f39c26cf400d22f246ef5ad4afbb6a6133e17d767711587dd4bae18e3b5a997f95e
32 DIST chromium-96-patchset-4.tar.xz 4812 BLAKE2B 5d82d212b8ec1689be6f4a7a0646256311d06c17e74ee0e5b2035c32125a5235e4b6b7605cefffa367cc53e651be17b75f5e339149b4c80dca50cd959b1623f1 SHA512 a72c1bb2c58e9e2912a641093c153f01ad7239dc971c7c96481ba4164204afe41741f3253e8af03070dab8276179784dc6a11761b39ad7902ed2553016778282
33 DIST chromium-96-ppc64le-1.tar.xz 29224 BLAKE2B 3369a3b15eb4f42761e01758135995a1f34e40cecbfc0372a4bc17b393d50b276ea5a0813d1c57f73f0dd34cf2a021356d25c2b4dcaa95998ffc082545dc915c SHA512 256d64fbf192e55d77c6580d36766a67dadfbd0f1e34e49bfc6d55114da7f2252d783db0dd09123996a71a01ec4a3d5c70fd1a5c8852db135857b8495f7cfbf1
34 DIST chromium-96.0.4664.45.tar.xz 1221965612 BLAKE2B e990a2c3f0ae6d8bc4b6dddbecea2c640bb6491d9b321a301c1f168a35ad37553a23b8290a28dc05d50be005d3ad57fa69af2d3574266b9c83dcd24e65116c35 SHA512 0b1ccaf95697c14cb080dcb22e8584817ddcd98e704d081bc4f35a22dcfc8cca82dcabc4b82ad89ed0cd64752d226f389941bfab33b615e3948e2f778b9d9028
35
36 diff --git a/www-client/chromium/chromium-95.0.4638.69.ebuild b/www-client/chromium/chromium-95.0.4638.69.ebuild
37 deleted file mode 100644
38 index 53d1b4a46cac..000000000000
39 --- a/www-client/chromium/chromium-95.0.4638.69.ebuild
40 +++ /dev/null
41 @@ -1,953 +0,0 @@
42 -# Copyright 2009-2021 Gentoo Authors
43 -# Distributed under the terms of the GNU General Public License v2
44 -
45 -EAPI=7
46 -PYTHON_COMPAT=( python3_{8,9} )
47 -PYTHON_REQ_USE="xml"
48 -
49 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
50 - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
51 - sv sw ta te th tr uk vi zh-CN zh-TW"
52 -
53 -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
54 -
55 -DESCRIPTION="Open-source version of Google Chrome web browser"
56 -HOMEPAGE="https://chromium.org/"
57 -PATCHSET="4"
58 -PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
59 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
60 - https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
61 -
62 -LICENSE="BSD"
63 -SLOT="0/stable"
64 -KEYWORDS="amd64 arm64 ~x86"
65 -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"
66 -REQUIRED_USE="
67 - component-build? ( !suid )
68 - screencast? ( wayland )
69 -"
70 -
71 -COMMON_X_DEPEND="
72 - media-libs/mesa:=[gbm(+)]
73 - x11-libs/libX11:=
74 - x11-libs/libXcomposite:=
75 - x11-libs/libXcursor:=
76 - x11-libs/libXdamage:=
77 - x11-libs/libXext:=
78 - x11-libs/libXfixes:=
79 - >=x11-libs/libXi-1.6.0:=
80 - x11-libs/libXrandr:=
81 - x11-libs/libXrender:=
82 - x11-libs/libXtst:=
83 - x11-libs/libxcb:=
84 - x11-libs/libxshmfence:=
85 - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] )
86 -"
87 -
88 -COMMON_DEPEND="
89 - app-arch/bzip2:=
90 - cups? ( >=net-print/cups-1.3.11:= )
91 - dev-libs/expat:=
92 - dev-libs/glib:2
93 - >=dev-libs/libxml2-2.9.4-r3:=[icu]
94 - dev-libs/nspr:=
95 - >=dev-libs/nss-3.26:=
96 - >=media-libs/alsa-lib-1.0.19:=
97 - media-libs/fontconfig:=
98 - >=media-libs/freetype-2.11.0-r1:=
99 - system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] )
100 - media-libs/libjpeg-turbo:=
101 - media-libs/libpng:=
102 - pulseaudio? ( media-sound/pulseaudio:= )
103 - system-ffmpeg? (
104 - >=media-video/ffmpeg-4.3:=
105 - || (
106 - media-video/ffmpeg[-samba]
107 - >=net-fs/samba-4.5.10-r1[-debug(-)]
108 - )
109 - >=media-libs/opus-1.3.1:=
110 - )
111 - net-misc/curl[ssl]
112 - sys-apps/dbus:=
113 - sys-apps/pciutils:=
114 - virtual/udev
115 - x11-libs/cairo:=
116 - x11-libs/gdk-pixbuf:2
117 - x11-libs/libxkbcommon:=
118 - x11-libs/pango:=
119 - media-libs/flac:=
120 - >=media-libs/libwebp-0.4.0:=
121 - sys-libs/zlib:=[minizip]
122 - kerberos? ( virtual/krb5 )
123 - !headless? (
124 - ${COMMON_X_DEPEND}
125 - >=app-accessibility/at-spi2-atk-2.26:2
126 - >=app-accessibility/at-spi2-core-2.26:2
127 - >=dev-libs/atk-2.26
128 - x11-libs/gtk+:3[X]
129 - wayland? (
130 - dev-libs/wayland:=
131 - screencast? ( media-video/pipewire:0/0.3 )
132 - x11-libs/gtk+:3[wayland,X]
133 - x11-libs/libdrm:=
134 - )
135 - )
136 -"
137 -RDEPEND="${COMMON_DEPEND}
138 - x11-misc/xdg-utils
139 - virtual/opengl
140 - virtual/ttf-fonts
141 - selinux? ( sec-policy/selinux-chromium )
142 -"
143 -DEPEND="${COMMON_DEPEND}
144 -"
145 -# dev-vcs/git - https://bugs.gentoo.org/593476
146 -BDEPEND="
147 - ${PYTHON_DEPS}
148 - $(python_gen_any_dep '
149 - dev-python/setuptools[${PYTHON_USEDEP}]
150 - ')
151 - >=app-arch/gzip-1.7
152 - dev-lang/perl
153 - <dev-util/gn-0.1943
154 - dev-vcs/git
155 - >=dev-util/gperf-3.0.3
156 - >=dev-util/ninja-1.7.2
157 - >=net-libs/nodejs-7.6.0[inspector]
158 - sys-apps/hwids[usb(+)]
159 - >=sys-devel/bison-2.4.3
160 - sys-devel/flex
161 - virtual/pkgconfig
162 - js-type-check? ( virtual/jre )
163 -"
164 -
165 -# These are intended for ebuild maintainer use to force clang if GCC is broken.
166 -: ${CHROMIUM_FORCE_CLANG=no}
167 -: ${CHROMIUM_FORCE_LIBCXX=no}
168 -
169 -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
170 - BDEPEND+=" >=sys-devel/clang-12"
171 -fi
172 -
173 -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
174 - RDEPEND+=" >=sys-libs/libcxx-12"
175 - DEPEND+=" >=sys-libs/libcxx-12"
176 -else
177 - COMMON_DEPEND="
178 - dev-libs/libxslt:=
179 - >=dev-libs/re2-0.2019.08.01:=
180 - >=media-libs/openh264-1.6.0:=
181 - system-icu? ( >=dev-libs/icu-69.1:= )
182 - "
183 - RDEPEND+="${COMMON_DEPEND}"
184 - DEPEND+="${COMMON_DEPEND}"
185 -fi
186 -
187 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
188 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
189 -fi
190 -
191 -DISABLE_AUTOFORMATTING="yes"
192 -DOC_CONTENTS="
193 -Some web pages may require additional fonts to display properly.
194 -Try installing some of the following packages if some characters
195 -are not displayed properly:
196 -- media-fonts/arphicfonts
197 -- media-fonts/droid
198 -- media-fonts/ipamonafont
199 -- media-fonts/noto
200 -- media-fonts/ja-ipafonts
201 -- media-fonts/takao-fonts
202 -- media-fonts/wqy-microhei
203 -- media-fonts/wqy-zenhei
204 -
205 -To fix broken icons on the Downloads page, you should install an icon
206 -theme that covers the appropriate MIME types, and configure this as your
207 -GTK+ icon theme.
208 -
209 -For native file dialogs in KDE, install kde-apps/kdialog.
210 -
211 -To make password storage work with your desktop environment you may
212 -have install one of the supported credentials management applications:
213 -- app-crypt/libsecret (GNOME)
214 -- kde-frameworks/kwallet (KDE)
215 -If you have one of above packages installed, but don't want to use
216 -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
217 -in /etc/chromium/default.
218 -"
219 -
220 -python_check_deps() {
221 - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
222 -}
223 -
224 -pre_build_checks() {
225 - if [[ ${MERGE_TYPE} != binary ]]; then
226 - local -x CPP="$(tc-getCXX) -E"
227 - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
228 - die "At least gcc 9.2 is required"
229 - fi
230 - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
231 - CPP="${CHOST}-clang++ -E"
232 - if ! ver_test "$(clang-major-version)" -ge 12; then
233 - die "At least clang 12 is required"
234 - fi
235 - fi
236 - fi
237 -
238 - # Check build requirements, bug #541816 and bug #471810 .
239 - CHECKREQS_MEMORY="4G"
240 - CHECKREQS_DISK_BUILD="9G"
241 - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
242 - if use custom-cflags || use component-build; then
243 - CHECKREQS_DISK_BUILD="25G"
244 - fi
245 - if ! use component-build; then
246 - CHECKREQS_MEMORY="16G"
247 - fi
248 - fi
249 - check-reqs_pkg_setup
250 -}
251 -
252 -pkg_pretend() {
253 - pre_build_checks
254 -}
255 -
256 -pkg_setup() {
257 - pre_build_checks
258 -
259 - chromium_suid_sandbox_check_kernel_config
260 -
261 - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams
262 - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then
263 - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable"
264 - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default."
265 - fi
266 -}
267 -
268 -src_prepare() {
269 - # Calling this here supports resumption via FEATURES=keepwork
270 - python_setup
271 -
272 - local PATCHES=(
273 - "${WORKDIR}/patches"
274 - "${FILESDIR}/chromium-93-EnumTable-crash.patch"
275 - "${FILESDIR}/chromium-93-InkDropHost-crash.patch"
276 - "${FILESDIR}/chromium-95-maldoca-zlib.patch"
277 - "${FILESDIR}/chromium-95-eigen-avx-1.patch"
278 - "${FILESDIR}/chromium-95-eigen-avx-2.patch"
279 - "${FILESDIR}/chromium-95-eigen-avx-3.patch"
280 - "${FILESDIR}/chromium-95-harfbuzz-3.patch"
281 - "${FILESDIR}/chromium-95-xfce-maximize.patch"
282 - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
283 - "${FILESDIR}/chromium-shim_headers.patch"
284 - )
285 -
286 - default
287 -
288 - mkdir -p third_party/node/linux/node-linux-x64/bin || die
289 - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
290 -
291 - # adjust python interpreter version
292 - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
293 -
294 - local keeplibs=(
295 - base/third_party/cityhash
296 - base/third_party/double_conversion
297 - base/third_party/dynamic_annotations
298 - base/third_party/icu
299 - base/third_party/nspr
300 - base/third_party/superfasthash
301 - base/third_party/symbolize
302 - base/third_party/valgrind
303 - base/third_party/xdg_mime
304 - base/third_party/xdg_user_dirs
305 - buildtools/third_party/libc++
306 - buildtools/third_party/libc++abi
307 - chrome/third_party/mozilla_security_manager
308 - courgette/third_party
309 - net/third_party/mozilla_security_manager
310 - net/third_party/nss
311 - net/third_party/quic
312 - net/third_party/uri_template
313 - third_party/abseil-cpp
314 - third_party/angle
315 - third_party/angle/src/common/third_party/base
316 - third_party/angle/src/common/third_party/smhasher
317 - third_party/angle/src/common/third_party/xxhash
318 - third_party/angle/src/third_party/libXNVCtrl
319 - third_party/angle/src/third_party/trace_event
320 - third_party/angle/src/third_party/volk
321 - third_party/apple_apsl
322 - third_party/axe-core
323 - third_party/blink
324 - third_party/boringssl
325 - third_party/boringssl/src/third_party/fiat
326 - third_party/breakpad
327 - third_party/breakpad/breakpad/src/third_party/curl
328 - third_party/brotli
329 - third_party/catapult
330 - third_party/catapult/common/py_vulcanize/third_party/rcssmin
331 - third_party/catapult/common/py_vulcanize/third_party/rjsmin
332 - third_party/catapult/third_party/beautifulsoup4-4.9.3
333 - third_party/catapult/third_party/html5lib-1.1
334 - third_party/catapult/third_party/polymer
335 - third_party/catapult/third_party/six
336 - third_party/catapult/tracing/third_party/d3
337 - third_party/catapult/tracing/third_party/gl-matrix
338 - third_party/catapult/tracing/third_party/jpeg-js
339 - third_party/catapult/tracing/third_party/jszip
340 - third_party/catapult/tracing/third_party/mannwhitneyu
341 - third_party/catapult/tracing/third_party/oboe
342 - third_party/catapult/tracing/third_party/pako
343 - third_party/ced
344 - third_party/cld_3
345 - third_party/closure_compiler
346 - third_party/crashpad
347 - third_party/crashpad/crashpad/third_party/lss
348 - third_party/crashpad/crashpad/third_party/zlib
349 - third_party/crc32c
350 - third_party/cros_system_api
351 - third_party/dav1d
352 - third_party/dawn
353 - third_party/dawn/third_party/khronos
354 - third_party/dawn/third_party/tint
355 - third_party/depot_tools
356 - third_party/devscripts
357 - third_party/devtools-frontend
358 - third_party/devtools-frontend/src/front_end/third_party/acorn
359 - third_party/devtools-frontend/src/front_end/third_party/axe-core
360 - third_party/devtools-frontend/src/front_end/third_party/chromium
361 - third_party/devtools-frontend/src/front_end/third_party/codemirror
362 - third_party/devtools-frontend/src/front_end/third_party/diff
363 - third_party/devtools-frontend/src/front_end/third_party/i18n
364 - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
365 - third_party/devtools-frontend/src/front_end/third_party/lighthouse
366 - third_party/devtools-frontend/src/front_end/third_party/lit-html
367 - third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
368 - third_party/devtools-frontend/src/front_end/third_party/marked
369 - third_party/devtools-frontend/src/front_end/third_party/puppeteer
370 - third_party/devtools-frontend/src/front_end/third_party/wasmparser
371 - third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
372 - third_party/devtools-frontend/src/third_party
373 - third_party/dom_distiller_js
374 - third_party/eigen3
375 - third_party/emoji-segmenter
376 - third_party/farmhash
377 - third_party/fdlibm
378 - third_party/fft2d
379 - third_party/flatbuffers
380 - third_party/freetype
381 - third_party/fusejs
382 - third_party/highway
383 - third_party/libgifcodec
384 - third_party/liburlpattern
385 - third_party/libzip
386 - third_party/gemmlowp
387 - third_party/google_input_tools
388 - third_party/google_input_tools/third_party/closure_library
389 - third_party/google_input_tools/third_party/closure_library/third_party/closure
390 - third_party/googletest
391 - third_party/hunspell
392 - third_party/iccjpeg
393 - third_party/inspector_protocol
394 - third_party/jinja2
395 - third_party/jsoncpp
396 - third_party/jstemplate
397 - third_party/khronos
398 - third_party/leveldatabase
399 - third_party/libXNVCtrl
400 - third_party/libaddressinput
401 - third_party/libaom
402 - third_party/libaom/source/libaom/third_party/fastfeat
403 - third_party/libaom/source/libaom/third_party/vector
404 - third_party/libaom/source/libaom/third_party/x86inc
405 - third_party/libavif
406 - third_party/libgav1
407 - third_party/libjingle
408 - third_party/libjxl
409 - third_party/libphonenumber
410 - third_party/libsecret
411 - third_party/libsrtp
412 - third_party/libsync
413 - third_party/libudev
414 - third_party/libva_protected_content
415 - third_party/libvpx
416 - third_party/libvpx/source/libvpx/third_party/x86inc
417 - third_party/libwebm
418 - third_party/libx11
419 - third_party/libxcb-keysyms
420 - third_party/libxml/chromium
421 - third_party/libyuv
422 - third_party/llvm
423 - third_party/lottie
424 - third_party/lss
425 - third_party/lzma_sdk
426 - third_party/mako
427 - third_party/maldoca
428 - third_party/maldoca/src/third_party/tensorflow_protos
429 - third_party/maldoca/src/third_party/zlibwrapper
430 - third_party/markupsafe
431 - third_party/mesa
432 - third_party/metrics_proto
433 - third_party/minigbm
434 - third_party/modp_b64
435 - third_party/nasm
436 - third_party/nearby
437 - third_party/neon_2_sse
438 - third_party/node
439 - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
440 - third_party/one_euro_filter
441 - third_party/opencv
442 - third_party/openscreen
443 - third_party/openscreen/src/third_party/mozilla
444 - third_party/openscreen/src/third_party/tinycbor/src/src
445 - third_party/ots
446 - third_party/pdfium
447 - third_party/pdfium/third_party/agg23
448 - third_party/pdfium/third_party/base
449 - third_party/pdfium/third_party/bigint
450 - third_party/pdfium/third_party/freetype
451 - third_party/pdfium/third_party/lcms
452 - third_party/pdfium/third_party/libopenjpeg20
453 - third_party/pdfium/third_party/libpng16
454 - third_party/pdfium/third_party/libtiff
455 - third_party/pdfium/third_party/skia_shared
456 - third_party/perfetto
457 - third_party/perfetto/protos/third_party/chromium
458 - third_party/pffft
459 - third_party/ply
460 - third_party/polymer
461 - third_party/private-join-and-compute
462 - third_party/private_membership
463 - third_party/protobuf
464 - third_party/protobuf/third_party/six
465 - third_party/pyjson5
466 - third_party/qcms
467 - third_party/rnnoise
468 - third_party/s2cellid
469 - third_party/securemessage
470 - third_party/shell-encryption
471 - third_party/simplejson
472 - third_party/skia
473 - third_party/skia/include/third_party/skcms
474 - third_party/skia/include/third_party/vulkan
475 - third_party/skia/third_party/skcms
476 - third_party/skia/third_party/vulkan
477 - third_party/smhasher
478 - third_party/snappy
479 - third_party/sqlite
480 - third_party/swiftshader
481 - third_party/swiftshader/third_party/astc-encoder
482 - third_party/swiftshader/third_party/llvm-subzero
483 - third_party/swiftshader/third_party/marl
484 - third_party/swiftshader/third_party/subzero
485 - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
486 - third_party/tcmalloc
487 - third_party/tensorflow-text
488 - third_party/tflite
489 - third_party/tflite/src/third_party/eigen3
490 - third_party/tflite/src/third_party/fft2d
491 - third_party/tflite-support
492 - third_party/ruy
493 - third_party/six
494 - third_party/ukey2
495 - third_party/unrar
496 - third_party/usrsctp
497 - third_party/utf
498 - third_party/vulkan
499 - third_party/web-animations-js
500 - third_party/webdriver
501 - third_party/webgpu-cts
502 - third_party/webrtc
503 - third_party/webrtc/common_audio/third_party/ooura
504 - third_party/webrtc/common_audio/third_party/spl_sqrt_floor
505 - third_party/webrtc/modules/third_party/fft
506 - third_party/webrtc/modules/third_party/g711
507 - third_party/webrtc/modules/third_party/g722
508 - third_party/webrtc/rtc_base/third_party/base64
509 - third_party/webrtc/rtc_base/third_party/sigslot
510 - third_party/widevine
511 - third_party/woff2
512 - third_party/wuffs
513 - third_party/x11proto
514 - third_party/xcbproto
515 - third_party/zxcvbn-cpp
516 - third_party/zlib/google
517 - url/third_party/mozilla
518 - v8/src/third_party/siphash
519 - v8/src/third_party/valgrind
520 - v8/src/third_party/utf8-decoder
521 - v8/third_party/inspector_protocol
522 - v8/third_party/v8
523 -
524 - # gyp -> gn leftovers
525 - base/third_party/libevent
526 - third_party/speech-dispatcher
527 - third_party/usb_ids
528 - third_party/xdg-utils
529 - )
530 - if ! use system-ffmpeg; then
531 - keeplibs+=( third_party/ffmpeg third_party/opus )
532 - fi
533 - if ! use system-icu; then
534 - keeplibs+=( third_party/icu )
535 - fi
536 - if use system-harfbuzz; then
537 - keeplibs+=( third_party/harfbuzz-ng/utils )
538 - else
539 - keeplibs+=( third_party/harfbuzz-ng )
540 - fi
541 - if use wayland && ! use headless ; then
542 - keeplibs+=( third_party/wayland )
543 - fi
544 - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
545 - keeplibs+=( third_party/libxml )
546 - keeplibs+=( third_party/libxslt )
547 - keeplibs+=( third_party/openh264 )
548 - keeplibs+=( third_party/re2 )
549 - if use system-icu; then
550 - keeplibs+=( third_party/icu )
551 - fi
552 - fi
553 - if use arm64 || use ppc64 ; then
554 - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
555 - fi
556 - # we need to generate ppc64 stuff because upstream does not ship it yet
557 - # it has to be done before unbundling.
558 - if use ppc64; then
559 - pushd third_party/libvpx >/dev/null || die
560 - mkdir -p source/config/linux/ppc64 || die
561 - ./generate_gni.sh || die
562 - popd >/dev/null || die
563 - fi
564 -
565 - # Remove most bundled libraries. Some are still needed.
566 - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
567 -
568 - if use js-type-check; then
569 - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die
570 - fi
571 -
572 - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
573 - mkdir -p buildtools/third_party/eu-strip/bin || die
574 - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
575 -}
576 -
577 -src_configure() {
578 - # Calling this here supports resumption via FEATURES=keepwork
579 - python_setup
580 -
581 - local myconf_gn=""
582 -
583 - # Make sure the build system will use the right tools, bug #340795.
584 - tc-export AR CC CXX NM
585 -
586 - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
587 - # Force clang since gcc is pretty broken at the moment.
588 - CC=${CHOST}-clang
589 - CXX=${CHOST}-clang++
590 - strip-unsupported-flags
591 - fi
592 -
593 - if tc-is-clang; then
594 - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
595 - else
596 - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
597 - die "Compiling with sys-libs/libcxx requires clang."
598 - fi
599 - myconf_gn+=" is_clang=false"
600 - fi
601 -
602 - # Define a custom toolchain for GN
603 - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
604 -
605 - if tc-is-cross-compiler; then
606 - tc-export BUILD_{AR,CC,CXX,NM}
607 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
608 - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
609 - else
610 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
611 - fi
612 -
613 - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
614 - myconf_gn+=" is_debug=false"
615 -
616 - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
617 - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
618 - myconf_gn+=" dcheck_always_on=$(usex debug true false)"
619 - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
620 -
621 - # Component build isn't generally intended for use by end users. It's mostly useful
622 - # for development and debugging.
623 - myconf_gn+=" is_component_build=$(usex component-build true false)"
624 -
625 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
626 - myconf_gn+=" enable_nacl=false"
627 -
628 - # Use system-provided libraries.
629 - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
630 - # TODO: use_system_hunspell (upstream changes needed).
631 - # TODO: use_system_protobuf (bug #525560).
632 - # TODO: use_system_sqlite (http://crbug.com/22208).
633 -
634 - # libevent: https://bugs.gentoo.org/593458
635 - local gn_system_libraries=(
636 - flac
637 - fontconfig
638 - freetype
639 - # Need harfbuzz_from_pkgconfig target
640 - #harfbuzz-ng
641 - libdrm
642 - libjpeg
643 - libpng
644 - libwebp
645 - zlib
646 - )
647 - if use system-ffmpeg; then
648 - gn_system_libraries+=( ffmpeg opus )
649 - fi
650 - if use system-icu; then
651 - gn_system_libraries+=( icu )
652 - fi
653 - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then
654 - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++
655 - gn_system_libraries+=( libxml )
656 - gn_system_libraries+=( libxslt )
657 - gn_system_libraries+=( openh264 )
658 - gn_system_libraries+=( re2 )
659 - fi
660 - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
661 -
662 - # See dependency logic in third_party/BUILD.gn
663 - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
664 -
665 - # Disable deprecated libgnome-keyring dependency, bug #713012
666 - myconf_gn+=" use_gnome_keyring=false"
667 -
668 - # Optional dependencies.
669 - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)"
670 - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
671 - myconf_gn+=" enable_widevine=$(usex widevine true false)"
672 - myconf_gn+=" use_cups=$(usex cups true false)"
673 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
674 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
675 - myconf_gn+=" use_vaapi=$(usex vaapi true false)"
676 - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
677 -
678 - # TODO: link_pulseaudio=true for GN.
679 -
680 - myconf_gn+=" disable_fieldtrial_testing_config=true"
681 -
682 - # Never use bundled gold binary. Disable gold linker flags for now.
683 - # Do not use bundled clang.
684 - # Trying to use gold results in linker crash.
685 - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false"
686 -
687 - # Disable forced lld, bug 641556
688 - myconf_gn+=" use_lld=false"
689 -
690 - # Disable pseudolocales, only used for testing
691 - myconf_gn+=" enable_pseudolocales=false"
692 -
693 - # Disable code formating of generated files
694 - myconf_gn+=" blink_enable_generated_code_formatting=false"
695 -
696 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
697 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
698 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
699 -
700 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
701 - # Note: these are for Gentoo use ONLY. For your own distribution,
702 - # please get your own set of keys. Feel free to contact chromium@g.o
703 - # for more info. The OAuth2 credentials, however, have been left out.
704 - # Those OAuth2 credentials have been broken for quite some time anyway.
705 - # Instead we apply a patch to use the --oauth2-client-id= and
706 - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
707 - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
708 - # Chromium without baked-in values.
709 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
710 - myconf_gn+=" google_api_key=\"${google_api_key}\""
711 - local myarch="$(tc-arch)"
712 -
713 - # Avoid CFLAGS problems, bug #352457, bug #390147.
714 - if ! use custom-cflags; then
715 - replace-flags "-Os" "-O2"
716 - strip-flags
717 -
718 - # Debug info section overflows without component build
719 - # Prevent linker from running out of address space, bug #471810 .
720 - if ! use component-build || use x86; then
721 - filter-flags "-g*"
722 - fi
723 -
724 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
725 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
726 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4
727 - fi
728 - fi
729 -
730 - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
731 - append-flags -stdlib=libc++
732 - append-ldflags -stdlib=libc++
733 - fi
734 -
735 - if [[ $myarch = amd64 ]] ; then
736 - myconf_gn+=" target_cpu=\"x64\""
737 - ffmpeg_target_arch=x64
738 - elif [[ $myarch = x86 ]] ; then
739 - myconf_gn+=" target_cpu=\"x86\""
740 - ffmpeg_target_arch=ia32
741 -
742 - # This is normally defined by compiler_cpu_abi in
743 - # build/config/compiler/BUILD.gn, but we patch that part out.
744 - append-flags -msse2 -mfpmath=sse -mmmx
745 - elif [[ $myarch = arm64 ]] ; then
746 - myconf_gn+=" target_cpu=\"arm64\""
747 - ffmpeg_target_arch=arm64
748 - elif [[ $myarch = arm ]] ; then
749 - myconf_gn+=" target_cpu=\"arm\""
750 - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
751 - elif [[ $myarch = ppc64 ]] ; then
752 - myconf_gn+=" target_cpu=\"ppc64\""
753 - ffmpeg_target_arch=ppc64
754 - else
755 - die "Failed to determine target arch, got '$myarch'."
756 - fi
757 -
758 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
759 - # Depending on GCC version the warnings are different and we don't want
760 - # the build to fail because of that.
761 - myconf_gn+=" treat_warnings_as_errors=false"
762 -
763 - # Disable fatal linker warnings, bug 506268.
764 - myconf_gn+=" fatal_linker_warnings=false"
765 -
766 - # Bug 491582.
767 - export TMPDIR="${WORKDIR}/temp"
768 - mkdir -p -m 755 "${TMPDIR}" || die
769 -
770 - # https://bugs.gentoo.org/654216
771 - addpredict /dev/dri/ #nowarn
772 -
773 - #if ! use system-ffmpeg; then
774 - if false; then
775 - local build_ffmpeg_args=""
776 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
777 - build_ffmpeg_args+=" --disable-asm"
778 - fi
779 -
780 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
781 - einfo "Configuring bundled ffmpeg..."
782 - pushd third_party/ffmpeg > /dev/null || die
783 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
784 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
785 - chromium/scripts/copy_config.sh || die
786 - chromium/scripts/generate_gn.py || die
787 - popd > /dev/null || die
788 - fi
789 -
790 - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470
791 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all)
792 -
793 - # Disable unknown warning message from clang.
794 - tc-is-clang && append-flags -Wno-unknown-warning-option
795 -
796 - # Explicitly disable ICU data file support for system-icu builds.
797 - if use system-icu; then
798 - myconf_gn+=" icu_use_data_file=false"
799 - fi
800 -
801 - # Enable ozone wayland and/or headless support
802 - myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
803 - myconf_gn+=" ozone_platform_headless=true"
804 - myconf_gn+=" ozone_platform_x11=$(usex headless false true)"
805 - if use wayland || use headless; then
806 - if use headless; then
807 - myconf_gn+=" ozone_platform=\"headless\""
808 - myconf_gn+=" use_x11=false"
809 - else
810 - myconf_gn+=" ozone_platform_wayland=true"
811 - myconf_gn+=" use_system_libdrm=true"
812 - myconf_gn+=" use_system_minigbm=true"
813 - myconf_gn+=" use_xkbcommon=true"
814 - myconf_gn+=" ozone_platform=\"wayland\""
815 - fi
816 - else
817 - myconf_gn+=" ozone_platform=\"x11\""
818 - fi
819 -
820 - # Enable official builds
821 - myconf_gn+=" is_official_build=$(usex official true false)"
822 - myconf_gn+=" use_thin_lto=false"
823 - if use official; then
824 - # Allow building against system libraries in official builds
825 - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
826 - tools/generate_shim_headers/generate_shim_headers.py || die
827 - # Disable CFI: unsupported for GCC, requires clang+lto+lld
828 - myconf_gn+=" is_cfi=false"
829 - # Disable PGO, because profile data is only compatible with >=clang-11
830 - myconf_gn+=" chrome_pgo_phase=0"
831 - fi
832 -
833 - einfo "Configuring Chromium..."
834 - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
835 - echo "$@"
836 - "$@" || die
837 -}
838 -
839 -src_compile() {
840 - # Final link uses lots of file descriptors.
841 - ulimit -n 2048
842 -
843 - # Calling this here supports resumption via FEATURES=keepwork
844 - python_setup
845 -
846 - # Don't inherit PYTHONPATH from environment, bug #789021, #812689
847 - local -x PYTHONPATH=
848 -
849 - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
850 -
851 - # Build mksnapshot and pax-mark it.
852 - local x
853 - for x in mksnapshot v8_context_snapshot_generator; do
854 - if tc-is-cross-compiler; then
855 - eninja -C out/Release "host/${x}"
856 - pax-mark m "out/Release/host/${x}"
857 - else
858 - eninja -C out/Release "${x}"
859 - pax-mark m "out/Release/${x}"
860 - fi
861 - done
862 -
863 - # Even though ninja autodetects number of CPUs, we respect
864 - # user's options, for debugging with -j 1 or any other reason.
865 - eninja -C out/Release chrome chromedriver
866 - use suid && eninja -C out/Release chrome_sandbox
867 -
868 - pax-mark m out/Release/chrome
869 -
870 - mv out/Release/chromedriver{.unstripped,} || die
871 -
872 - # Build manpage; bug #684550
873 - sed -e 's|@@PACKAGE@@|chromium-browser|g;
874 - s|@@MENUNAME@@|Chromium|g;' \
875 - chrome/app/resources/manpage.1.in > \
876 - out/Release/chromium-browser.1 || die
877 -
878 - # Build desktop file; bug #706786
879 - sed -e 's|@@MENUNAME@@|Chromium|g;
880 - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
881 - s|@@PACKAGE@@|chromium-browser|g;
882 - s|\(^Exec=\)/usr/bin/|\1|g;' \
883 - chrome/installer/linux/common/desktop.template > \
884 - out/Release/chromium-browser-chromium.desktop || die
885 -}
886 -
887 -src_install() {
888 - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
889 - exeinto "${CHROMIUM_HOME}"
890 - doexe out/Release/chrome
891 -
892 - if use suid; then
893 - newexe out/Release/chrome_sandbox chrome-sandbox
894 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
895 - fi
896 -
897 - doexe out/Release/chromedriver
898 - doexe out/Release/chrome_crashpad_handler
899 -
900 - ozone_auto_session () {
901 - use wayland && ! use headless && echo true || echo false
902 - }
903 - local sedargs=( -e
904 - "s:/usr/lib/:/usr/$(get_libdir)/:g;
905 - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
906 - )
907 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
908 - doexe chromium-launcher.sh
909 -
910 - # It is important that we name the target "chromium-browser",
911 - # xdg-utils expect it; bug #355517.
912 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
913 - # keep the old symlink around for consistency
914 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
915 -
916 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
917 -
918 - # Allow users to override command-line options, bug #357629.
919 - insinto /etc/chromium
920 - newins "${FILESDIR}/chromium.default" "default"
921 -
922 - pushd out/Release/locales > /dev/null || die
923 - chromium_remove_language_paks
924 - popd
925 -
926 - insinto "${CHROMIUM_HOME}"
927 - doins out/Release/*.bin
928 - doins out/Release/*.pak
929 - (
930 - shopt -s nullglob
931 - local files=(out/Release/*.so out/Release/*.so.[0-9])
932 - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
933 - )
934 -
935 - if ! use system-icu; then
936 - doins out/Release/icudtl.dat
937 - fi
938 -
939 - doins -r out/Release/locales
940 - doins -r out/Release/resources
941 - doins -r out/Release/MEIPreload
942 -
943 - if [[ -d out/Release/swiftshader ]]; then
944 - insinto "${CHROMIUM_HOME}/swiftshader"
945 - doins out/Release/swiftshader/*.so
946 - fi
947 -
948 - # Install icons
949 - local branding size
950 - for size in 16 24 32 48 64 128 256 ; do
951 - case ${size} in
952 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
953 - *) branding="chrome/app/theme/chromium" ;;
954 - esac
955 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
956 - chromium-browser.png
957 - done
958 -
959 - # Install desktop entry
960 - domenu out/Release/chromium-browser-chromium.desktop
961 -
962 - # Install GNOME default application entry (bug #303100).
963 - insinto /usr/share/gnome-control-center/default-apps
964 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
965 -
966 - # Install manpage; bug #684550
967 - doman out/Release/chromium-browser.1
968 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1
969 -
970 - readme.gentoo_create_doc
971 -}
972 -
973 -pkg_postrm() {
974 - xdg_icon_cache_update
975 - xdg_desktop_database_update
976 -}
977 -
978 -pkg_postinst() {
979 - xdg_icon_cache_update
980 - xdg_desktop_database_update
981 - readme.gentoo_print_elog
982 -
983 - if use vaapi; then
984 - elog "VA-API is disabled by default at runtime. You have to enable it"
985 - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
986 - elog "in /etc/chromium/default."
987 - fi
988 - if use screencast; then
989 - elog "Screencast is disabled by default at runtime. Either enable it"
990 - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
991 - elog "inside Chromium or add --enable-webrtc-pipewire-capturer"
992 - elog "to CHROMIUM_FLAGS in /etc/chromium/default."
993 - fi
994 -}
995
996 diff --git a/www-client/chromium/files/chromium-93-EnumTable-crash.patch b/www-client/chromium/files/chromium-93-EnumTable-crash.patch
997 deleted file mode 100644
998 index a5c2defa0ae2..000000000000
999 --- a/www-client/chromium/files/chromium-93-EnumTable-crash.patch
1000 +++ /dev/null
1001 @@ -1,79 +0,0 @@
1002 -diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
1003 -index a63ae86..83ada65 100644
1004 ---- a/components/cast_channel/enum_table.h
1005 -+++ b/components/cast_channel/enum_table.h
1006 -@@ -8,6 +8,7 @@
1007 - #include <cstdint>
1008 - #include <cstring>
1009 - #include <ostream>
1010 -+#include <vector>
1011 -
1012 - #include "base/check_op.h"
1013 - #include "base/macros.h"
1014 -@@ -213,7 +214,7 @@ class
1015 -
1016 - template <typename E>
1017 - friend class EnumTable;
1018 -- DISALLOW_COPY_AND_ASSIGN(GenericEnumTableEntry);
1019 -+ DISALLOW_ASSIGN(GenericEnumTableEntry);
1020 - };
1021 -
1022 - // Yes, these constructors really needs to be inlined. Even though they look
1023 -@@ -251,8 +252,7 @@ class EnumTable {
1024 - // Constructor for regular entries.
1025 - constexpr Entry(E value, base::StringPiece str)
1026 - : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
1027 --
1028 -- DISALLOW_COPY_AND_ASSIGN(Entry);
1029 -+ DISALLOW_ASSIGN(Entry);
1030 - };
1031 -
1032 - static_assert(sizeof(E) <= sizeof(int32_t),
1033 -@@ -307,15 +307,14 @@ class EnumTable {
1034 - if (is_sorted_) {
1035 - const std::size_t index = static_cast<std::size_t>(value);
1036 - if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
1037 -- const auto& entry = data_.begin()[index];
1038 -+ const auto& entry = data_[index];
1039 - if (ANALYZER_ASSUME_TRUE(entry.has_str()))
1040 - return entry.str();
1041 - }
1042 - return absl::nullopt;
1043 - }
1044 - return GenericEnumTableEntry::FindByValue(
1045 -- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
1046 -- data_.size(), static_cast<int32_t>(value));
1047 -+ &data_[0], data_.size(), static_cast<int32_t>(value));
1048 - }
1049 -
1050 - // This overload of GetString is designed for cases where the argument is a
1051 -@@ -343,8 +342,7 @@ class EnumTable {
1052 - // enum value directly.
1053 - absl::optional<E> GetEnum(base::StringPiece str) const {
1054 - auto* entry = GenericEnumTableEntry::FindByString(
1055 -- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
1056 -- data_.size(), str);
1057 -+ &data_[0], data_.size(), str);
1058 - return entry ? static_cast<E>(entry->value) : absl::optional<E>();
1059 - }
1060 -
1061 -@@ -359,7 +357,7 @@ class EnumTable {
1062 - // Align the data on a cache line boundary.
1063 - alignas(64)
1064 - #endif
1065 -- std::initializer_list<Entry> data_;
1066 -+ const std::vector<Entry> data_;
1067 - bool is_sorted_;
1068 -
1069 - constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
1070 -@@ -371,8 +369,8 @@ class EnumTable {
1071 -
1072 - for (std::size_t i = 0; i < data.size(); i++) {
1073 - for (std::size_t j = i + 1; j < data.size(); j++) {
1074 -- const Entry& ei = data.begin()[i];
1075 -- const Entry& ej = data.begin()[j];
1076 -+ const Entry& ei = data[i];
1077 -+ const Entry& ej = data[j];
1078 - DCHECK(ei.value != ej.value)
1079 - << "Found duplicate enum values at indices " << i << " and " << j;
1080 - DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
1081
1082 diff --git a/www-client/chromium/files/chromium-95-eigen-avx-1.patch b/www-client/chromium/files/chromium-95-eigen-avx-1.patch
1083 deleted file mode 100644
1084 index 21d520cc4d44..000000000000
1085 --- a/www-client/chromium/files/chromium-95-eigen-avx-1.patch
1086 +++ /dev/null
1087 @@ -1,229 +0,0 @@
1088 -From 3d4ba855e014987cad86d62a8dff533492255695 Mon Sep 17 00:00:00 2001
1089 -From: Antonio Sanchez <cantonios@××××××.com>
1090 -Date: Wed, 1 Sep 2021 14:11:21 -0700
1091 -Subject: [PATCH] Fix AVX integer packet issues.
1092 -
1093 -Most are instances of AVX2 functions not protected by
1094 -`EIGEN_VECTORIZE_AVX2`. There was also a missing semi-colon
1095 -for AVX512.
1096 ----
1097 - Eigen/src/Core/arch/AVX/PacketMath.h | 83 ++++++++++++++++++-------
1098 - Eigen/src/Core/arch/AVX512/PacketMath.h | 6 +-
1099 - 2 files changed, 63 insertions(+), 26 deletions(-)
1100 -
1101 -diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
1102 -index dc1a1d6b0..247ee4efd 100644
1103 ---- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
1104 -+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
1105 -@@ -262,10 +262,6 @@ template<> EIGEN_STRONG_INLINE Packet4d peven_mask(const Packet4d& /*a*/) { retu
1106 - template<> EIGEN_STRONG_INLINE Packet8f pload1<Packet8f>(const float* from) { return _mm256_broadcast_ss(from); }
1107 - template<> EIGEN_STRONG_INLINE Packet4d pload1<Packet4d>(const double* from) { return _mm256_broadcast_sd(from); }
1108 -
1109 --template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return _mm256_add_ps(_mm256_set1_ps(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
1110 --template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return _mm256_add_pd(_mm256_set1_pd(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
1111 --template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return _mm256_add_epi32(_mm256_set1_epi32(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
1112 --
1113 - template<> EIGEN_STRONG_INLINE Packet8f padd<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_add_ps(a,b); }
1114 - template<> EIGEN_STRONG_INLINE Packet4d padd<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_add_pd(a,b); }
1115 - template<> EIGEN_STRONG_INLINE Packet8i padd<Packet8i>(const Packet8i& a, const Packet8i& b) {
1116 -@@ -278,6 +274,10 @@ template<> EIGEN_STRONG_INLINE Packet8i padd<Packet8i>(const Packet8i& a, const
1117 - #endif
1118 - }
1119 -
1120 -+template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return padd(pset1(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
1121 -+template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return padd(pset1(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
1122 -+template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return padd(pset1(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
1123 -+
1124 - template<> EIGEN_STRONG_INLINE Packet8f psub<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_sub_ps(a,b); }
1125 - template<> EIGEN_STRONG_INLINE Packet4d psub<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_sub_pd(a,b); }
1126 - template<> EIGEN_STRONG_INLINE Packet8i psub<Packet8i>(const Packet8i& a, const Packet8i& b) {
1127 -@@ -300,7 +300,7 @@ template<> EIGEN_STRONG_INLINE Packet4d pnegate(const Packet4d& a)
1128 - }
1129 - template<> EIGEN_STRONG_INLINE Packet8i pnegate(const Packet8i& a)
1130 - {
1131 -- return _mm256_sub_epi32(_mm256_set1_epi32(0), a);
1132 -+ return psub(pzero(a), a);
1133 - }
1134 -
1135 - template<> EIGEN_STRONG_INLINE Packet8f pconj(const Packet8f& a) { return a; }
1136 -@@ -419,7 +419,13 @@ template<> EIGEN_STRONG_INLINE Packet4d pmin<Packet4d>(const Packet4d& a, const
1137 - #endif
1138 - }
1139 - template<> EIGEN_STRONG_INLINE Packet8i pmin<Packet8i>(const Packet8i& a, const Packet8i& b) {
1140 -+#ifdef EIGEN_VECTORIZE_AVX2
1141 - return _mm256_min_epi32(a, b);
1142 -+#else
1143 -+ __m128i lo = _mm_min_epi32(_mm256_extractf128_si256(a, 0), _mm256_extractf128_si256(b, 0));
1144 -+ __m128i hi = _mm_min_epi32(_mm256_extractf128_si256(a, 1), _mm256_extractf128_si256(b, 1));
1145 -+ return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
1146 -+#endif
1147 - }
1148 -
1149 - template<> EIGEN_STRONG_INLINE Packet8f pmax<Packet8f>(const Packet8f& a, const Packet8f& b) {
1150 -@@ -445,7 +451,13 @@ template<> EIGEN_STRONG_INLINE Packet4d pmax<Packet4d>(const Packet4d& a, const
1151 - #endif
1152 - }
1153 - template<> EIGEN_STRONG_INLINE Packet8i pmax<Packet8i>(const Packet8i& a, const Packet8i& b) {
1154 -+#ifdef EIGEN_VECTORIZE_AVX2
1155 - return _mm256_max_epi32(a, b);
1156 -+#else
1157 -+ __m128i lo = _mm_max_epi32(_mm256_extractf128_si256(a, 0), _mm256_extractf128_si256(b, 0));
1158 -+ __m128i hi = _mm_max_epi32(_mm256_extractf128_si256(a, 1), _mm256_extractf128_si256(b, 1));
1159 -+ return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
1160 -+#endif
1161 - }
1162 -
1163 - // Add specializations for min/max with prescribed NaN progation.
1164 -@@ -641,17 +653,25 @@ template<> EIGEN_STRONG_INLINE Packet8f ploaddup<Packet8f>(const float* from)
1165 - // then we can perform a consistent permutation on the global register to get everything in shape:
1166 - return _mm256_permute_ps(tmp, _MM_SHUFFLE(3,3,2,2));
1167 - }
1168 --// Loads 2 doubles from memory a returns the packet {a0, a0 a1, a1}
1169 -+// Loads 2 doubles from memory a returns the packet {a0, a0, a1, a1}
1170 - template<> EIGEN_STRONG_INLINE Packet4d ploaddup<Packet4d>(const double* from)
1171 - {
1172 - Packet4d tmp = _mm256_broadcast_pd((const __m128d*)(const void*)from);
1173 - return _mm256_permute_pd(tmp, 3<<2);
1174 - }
1175 --// Loads 4 integers from memory a returns the packet {a0, a0 a1, a1, a2, a2, a3, a3}
1176 -+// Loads 4 integers from memory a returns the packet {a0, a0, a1, a1, a2, a2, a3, a3}
1177 - template<> EIGEN_STRONG_INLINE Packet8i ploaddup<Packet8i>(const int* from)
1178 - {
1179 -- Packet8i a = _mm256_castsi128_si256(pload<Packet4i>(from));
1180 -+#ifdef EIGEN_VECTORIZE_AVX2
1181 -+ const Packet8i a = _mm256_castsi128_si256(pload<Packet4i>(from));
1182 - return _mm256_permutevar8x32_epi32(a, _mm256_setr_epi32(0, 0, 1, 1, 2, 2, 3, 3));
1183 -+#else
1184 -+ __m256 tmp = _mm256_broadcast_ps((const __m128*)(const void*)from);
1185 -+ // mimic an "inplace" permutation of the lower 128bits using a blend
1186 -+ tmp = _mm256_blend_ps(tmp,_mm256_castps128_ps256(_mm_permute_ps( _mm256_castps256_ps128(tmp), _MM_SHUFFLE(1,0,1,0))), 15);
1187 -+ // then we can perform a consistent permutation on the global register to get everything in shape:
1188 -+ return _mm256_castps_si256(_mm256_permute_ps(tmp, _MM_SHUFFLE(3,3,2,2)));
1189 -+#endif
1190 - }
1191 -
1192 - // Loads 2 floats from memory a returns the packet {a0, a0 a0, a0, a1, a1, a1, a1}
1193 -@@ -662,7 +682,7 @@ template<> EIGEN_STRONG_INLINE Packet8f ploadquad<Packet8f>(const float* from)
1194 - }
1195 - template<> EIGEN_STRONG_INLINE Packet8i ploadquad<Packet8i>(const int* from)
1196 - {
1197 -- return _mm256_inserti128_si256(_mm256_set1_epi32(*from), _mm_set1_epi32(*(from+1)), 1);
1198 -+ return _mm256_insertf128_si256(_mm256_set1_epi32(*from), _mm_set1_epi32(*(from+1)), 1);
1199 - }
1200 -
1201 - template<> EIGEN_STRONG_INLINE void pstore<float>(float* to, const Packet8f& from) { EIGEN_DEBUG_ALIGNED_STORE _mm256_store_ps(to, from); }
1202 -@@ -723,13 +743,13 @@ template<> EIGEN_DEVICE_FUNC inline void pscatter<double, Packet4d>(double* to,
1203 - }
1204 - template<> EIGEN_DEVICE_FUNC inline void pscatter<int, Packet8i>(int* to, const Packet8i& from, Index stride)
1205 - {
1206 -- __m128i low = _mm256_extracti128_si256(from, 0);
1207 -+ __m128i low = _mm256_extractf128_si256(from, 0);
1208 - to[stride*0] = _mm_extract_epi32(low, 0);
1209 - to[stride*1] = _mm_extract_epi32(low, 1);
1210 - to[stride*2] = _mm_extract_epi32(low, 2);
1211 - to[stride*3] = _mm_extract_epi32(low, 3);
1212 -
1213 -- __m128i high = _mm256_extracti128_si256(from, 1);
1214 -+ __m128i high = _mm256_extractf128_si256(from, 1);
1215 - to[stride*4] = _mm_extract_epi32(high, 0);
1216 - to[stride*5] = _mm_extract_epi32(high, 1);
1217 - to[stride*6] = _mm_extract_epi32(high, 2);
1218 -@@ -803,7 +823,13 @@ template<> EIGEN_STRONG_INLINE Packet4d pabs(const Packet4d& a)
1219 - }
1220 - template<> EIGEN_STRONG_INLINE Packet8i pabs(const Packet8i& a)
1221 - {
1222 -+#ifdef EIGEN_VECTORIZE_AVX2
1223 - return _mm256_abs_epi32(a);
1224 -+#else
1225 -+ __m128i lo = _mm_abs_epi32(_mm256_extractf128_si256(a, 0));
1226 -+ __m128i hi = _mm_abs_epi32(_mm256_extractf128_si256(a, 1));
1227 -+ return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
1228 -+#endif
1229 - }
1230 -
1231 - template<> EIGEN_STRONG_INLINE Packet8f pfrexp<Packet8f>(const Packet8f& a, Packet8f& exponent) {
1232 -@@ -989,16 +1015,27 @@ ptranspose(PacketBlock<Packet8f,4>& kernel) {
1233 - #define MM256_SHUFFLE_EPI32(A, B, M) \
1234 - _mm256_castps_si256(_mm256_shuffle_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B), M))
1235 -
1236 -+#ifdef EIGEN_VECTORIZE_AVX2
1237 -+#define MM256_UNPACKLO_EPI32(A, B) \
1238 -+ _mm256_castps_si256(_mm256_unpacklo_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
1239 -+#define MM256_UNPACKHI_EPI32(A, B) \
1240 -+ _mm256_castps_si256(_mm256_unpackhi_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
1241 -+#else
1242 -+#define MM256_UNPACKLO_EPI32(A, B) _mm256_unpacklo_ps(A, B)
1243 -+#define MM256_UNPACKHI_EPI32(A, B) _mm256_unpackhi_ps(A, B)
1244 -+#endif
1245 -+
1246 -+
1247 - EIGEN_DEVICE_FUNC inline void
1248 - ptranspose(PacketBlock<Packet8i,8>& kernel) {
1249 -- __m256i T0 = _mm256_unpacklo_epi32(kernel.packet[0], kernel.packet[1]);
1250 -- __m256i T1 = _mm256_unpackhi_epi32(kernel.packet[0], kernel.packet[1]);
1251 -- __m256i T2 = _mm256_unpacklo_epi32(kernel.packet[2], kernel.packet[3]);
1252 -- __m256i T3 = _mm256_unpackhi_epi32(kernel.packet[2], kernel.packet[3]);
1253 -- __m256i T4 = _mm256_unpacklo_epi32(kernel.packet[4], kernel.packet[5]);
1254 -- __m256i T5 = _mm256_unpackhi_epi32(kernel.packet[4], kernel.packet[5]);
1255 -- __m256i T6 = _mm256_unpacklo_epi32(kernel.packet[6], kernel.packet[7]);
1256 -- __m256i T7 = _mm256_unpackhi_epi32(kernel.packet[6], kernel.packet[7]);
1257 -+ __m256i T0 = MM256_UNPACKLO_EPI32(kernel.packet[0], kernel.packet[1]);
1258 -+ __m256i T1 = MM256_UNPACKHI_EPI32(kernel.packet[0], kernel.packet[1]);
1259 -+ __m256i T2 = MM256_UNPACKLO_EPI32(kernel.packet[2], kernel.packet[3]);
1260 -+ __m256i T3 = MM256_UNPACKHI_EPI32(kernel.packet[2], kernel.packet[3]);
1261 -+ __m256i T4 = MM256_UNPACKLO_EPI32(kernel.packet[4], kernel.packet[5]);
1262 -+ __m256i T5 = MM256_UNPACKHI_EPI32(kernel.packet[4], kernel.packet[5]);
1263 -+ __m256i T6 = MM256_UNPACKLO_EPI32(kernel.packet[6], kernel.packet[7]);
1264 -+ __m256i T7 = MM256_UNPACKHI_EPI32(kernel.packet[6], kernel.packet[7]);
1265 - __m256i S0 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(1,0,1,0));
1266 - __m256i S1 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(3,2,3,2));
1267 - __m256i S2 = MM256_SHUFFLE_EPI32(T1,T3,_MM_SHUFFLE(1,0,1,0));
1268 -@@ -1019,10 +1056,10 @@ ptranspose(PacketBlock<Packet8i,8>& kernel) {
1269 -
1270 - EIGEN_DEVICE_FUNC inline void
1271 - ptranspose(PacketBlock<Packet8i,4>& kernel) {
1272 -- __m256i T0 = _mm256_unpacklo_epi32(kernel.packet[0], kernel.packet[1]);
1273 -- __m256i T1 = _mm256_unpackhi_epi32(kernel.packet[0], kernel.packet[1]);
1274 -- __m256i T2 = _mm256_unpacklo_epi32(kernel.packet[2], kernel.packet[3]);
1275 -- __m256i T3 = _mm256_unpackhi_epi32(kernel.packet[2], kernel.packet[3]);
1276 -+ __m256i T0 = MM256_UNPACKLO_EPI32(kernel.packet[0], kernel.packet[1]);
1277 -+ __m256i T1 = MM256_UNPACKHI_EPI32(kernel.packet[0], kernel.packet[1]);
1278 -+ __m256i T2 = MM256_UNPACKLO_EPI32(kernel.packet[2], kernel.packet[3]);
1279 -+ __m256i T3 = MM256_UNPACKHI_EPI32(kernel.packet[2], kernel.packet[3]);
1280 -
1281 - __m256i S0 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(1,0,1,0));
1282 - __m256i S1 = MM256_SHUFFLE_EPI32(T0,T2,_MM_SHUFFLE(3,2,3,2));
1283 -diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h
1284 -index 6ce15c677..0810f66ee 100644
1285 ---- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h
1286 -+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX512/PacketMath.h
1287 -@@ -1028,7 +1028,7 @@ template<> EIGEN_STRONG_INLINE Packet8d pldexp<Packet8d>(const Packet8d& a, cons
1288 -
1289 - // AVX512F does not define _mm512_extracti32x8_epi32 to extract _m256i from _m512i
1290 - #define EIGEN_EXTRACT_8i_FROM_16i(INPUT, OUTPUT) \
1291 -- __m256i OUTPUT##_0 = _mm512_extracti32x8_epi32(INPUT, 0) \
1292 -+ __m256i OUTPUT##_0 = _mm512_extracti32x8_epi32(INPUT, 0); \
1293 - __m256i OUTPUT##_1 = _mm512_extracti32x8_epi32(INPUT, 1)
1294 - #else
1295 - #define EIGEN_EXTRACT_8f_FROM_16f(INPUT, OUTPUT) \
1296 -@@ -1037,7 +1037,7 @@ template<> EIGEN_STRONG_INLINE Packet8d pldexp<Packet8d>(const Packet8d& a, cons
1297 - _mm512_extractf32x4_ps(INPUT, 1), 1); \
1298 - __m256 OUTPUT##_1 = _mm256_insertf128_ps( \
1299 - _mm256_castps128_ps256(_mm512_extractf32x4_ps(INPUT, 2)), \
1300 -- _mm512_extractf32x4_ps(INPUT, 3), 1);
1301 -+ _mm512_extractf32x4_ps(INPUT, 3), 1)
1302 -
1303 - #define EIGEN_EXTRACT_8i_FROM_16i(INPUT, OUTPUT) \
1304 - __m256i OUTPUT##_0 = _mm256_insertf128_si256( \
1305 -@@ -1045,7 +1045,7 @@ template<> EIGEN_STRONG_INLINE Packet8d pldexp<Packet8d>(const Packet8d& a, cons
1306 - _mm512_extracti32x4_epi32(INPUT, 1), 1); \
1307 - __m256i OUTPUT##_1 = _mm256_insertf128_si256( \
1308 - _mm256_castsi128_si256(_mm512_extracti32x4_epi32(INPUT, 2)), \
1309 -- _mm512_extracti32x4_epi32(INPUT, 3), 1);
1310 -+ _mm512_extracti32x4_epi32(INPUT, 3), 1)
1311 - #endif
1312 -
1313 - #ifdef EIGEN_VECTORIZE_AVX512DQ
1314 ---
1315 -GitLab
1316 -
1317
1318 diff --git a/www-client/chromium/files/chromium-95-eigen-avx-2.patch b/www-client/chromium/files/chromium-95-eigen-avx-2.patch
1319 deleted file mode 100644
1320 index 1cb8007b6a6a..000000000000
1321 --- a/www-client/chromium/files/chromium-95-eigen-avx-2.patch
1322 +++ /dev/null
1323 @@ -1,30 +0,0 @@
1324 -From def145547fc6abd14236e103b9443a36064f664f Mon Sep 17 00:00:00 2001
1325 -From: Antonio Sanchez <cantonios@××××××.com>
1326 -Date: Thu, 2 Sep 2021 16:21:07 -0700
1327 -Subject: [PATCH] Add missing packet types in pset1 call.
1328 -
1329 -Oops, introduced this when "fixing" integer packets.
1330 ----
1331 - Eigen/src/Core/arch/AVX/PacketMath.h | 6 +++---
1332 - 1 file changed, 3 insertions(+), 3 deletions(-)
1333 -
1334 -diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
1335 -index 247ee4efd..8da9031dc 100644
1336 ---- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
1337 -+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
1338 -@@ -274,9 +274,9 @@ template<> EIGEN_STRONG_INLINE Packet8i padd<Packet8i>(const Packet8i& a, const
1339 - #endif
1340 - }
1341 -
1342 --template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return padd(pset1(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
1343 --template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return padd(pset1(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
1344 --template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return padd(pset1(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
1345 -+template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return padd(pset1<Packet8f>(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
1346 -+template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return padd(pset1<Packet4d>(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
1347 -+template<> EIGEN_STRONG_INLINE Packet8i plset<Packet8i>(const int& a) { return padd(pset1<Packet8i>(a), _mm256_set_epi32(7,6,5,4,3,2,1,0)); }
1348 -
1349 - template<> EIGEN_STRONG_INLINE Packet8f psub<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_sub_ps(a,b); }
1350 - template<> EIGEN_STRONG_INLINE Packet4d psub<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_sub_pd(a,b); }
1351 ---
1352 -GitLab
1353 -
1354
1355 diff --git a/www-client/chromium/files/chromium-95-eigen-avx-3.patch b/www-client/chromium/files/chromium-95-eigen-avx-3.patch
1356 deleted file mode 100644
1357 index 44e9ef4e0ec0..000000000000
1358 --- a/www-client/chromium/files/chromium-95-eigen-avx-3.patch
1359 +++ /dev/null
1360 @@ -1,44 +0,0 @@
1361 -From 7792b1e909a98703181aecb8810b4b654004c25d Mon Sep 17 00:00:00 2001
1362 -From: Antonio Sanchez <cantonios@××××××.com>
1363 -Date: Fri, 3 Sep 2021 10:41:35 -0700
1364 -Subject: [PATCH] Fix AVX2 PacketMath.h.
1365 -
1366 -There were a couple typos ps -> epi32, and an unaligned load issue.
1367 ----
1368 - Eigen/src/Core/arch/AVX/PacketMath.h | 8 ++++----
1369 - 1 file changed, 4 insertions(+), 4 deletions(-)
1370 -
1371 -diff --git a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
1372 -index 8da9031dc..41cb7af9c 100644
1373 ---- a/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
1374 -+++ b/third_party/eigen3/src/Eigen/src/Core/arch/AVX/PacketMath.h
1375 -@@ -663,7 +663,7 @@ template<> EIGEN_STRONG_INLINE Packet4d ploaddup<Packet4d>(const double* from)
1376 - template<> EIGEN_STRONG_INLINE Packet8i ploaddup<Packet8i>(const int* from)
1377 - {
1378 - #ifdef EIGEN_VECTORIZE_AVX2
1379 -- const Packet8i a = _mm256_castsi128_si256(pload<Packet4i>(from));
1380 -+ const Packet8i a = _mm256_castsi128_si256(ploadu<Packet4i>(from));
1381 - return _mm256_permutevar8x32_epi32(a, _mm256_setr_epi32(0, 0, 1, 1, 2, 2, 3, 3));
1382 - #else
1383 - __m256 tmp = _mm256_broadcast_ps((const __m128*)(const void*)from);
1384 -@@ -1015,14 +1015,14 @@ ptranspose(PacketBlock<Packet8f,4>& kernel) {
1385 - #define MM256_SHUFFLE_EPI32(A, B, M) \
1386 - _mm256_castps_si256(_mm256_shuffle_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B), M))
1387 -
1388 --#ifdef EIGEN_VECTORIZE_AVX2
1389 -+#ifndef EIGEN_VECTORIZE_AVX2
1390 - #define MM256_UNPACKLO_EPI32(A, B) \
1391 - _mm256_castps_si256(_mm256_unpacklo_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
1392 - #define MM256_UNPACKHI_EPI32(A, B) \
1393 - _mm256_castps_si256(_mm256_unpackhi_ps(_mm256_castsi256_ps(A), _mm256_castsi256_ps(B)))
1394 - #else
1395 --#define MM256_UNPACKLO_EPI32(A, B) _mm256_unpacklo_ps(A, B)
1396 --#define MM256_UNPACKHI_EPI32(A, B) _mm256_unpackhi_ps(A, B)
1397 -+#define MM256_UNPACKLO_EPI32(A, B) _mm256_unpacklo_epi32(A, B)
1398 -+#define MM256_UNPACKHI_EPI32(A, B) _mm256_unpackhi_epi32(A, B)
1399 - #endif
1400 -
1401 -
1402 ---
1403 -GitLab
1404 -
1405
1406 diff --git a/www-client/chromium/files/chromium-95-harfbuzz-3.patch b/www-client/chromium/files/chromium-95-harfbuzz-3.patch
1407 deleted file mode 100644
1408 index 33fe9556aaf3..000000000000
1409 --- a/www-client/chromium/files/chromium-95-harfbuzz-3.patch
1410 +++ /dev/null
1411 @@ -1,31 +0,0 @@
1412 -From 9e00e702633c47c590a869bc66b5c2ceec09da50 Mon Sep 17 00:00:00 2001
1413 -From: Dominik Röttsches <drott@××××××××.org>
1414 -Date: Tue, 28 Sep 2021 15:31:50 +0000
1415 -Subject: [PATCH] Roll src/third_party/harfbuzz-ng/src/ 6602cbb70..a52c6df38 (80 commits)
1416 -
1417 -Fixed: 1252284
1418 -Change-Id: Ie2ff99da5e41ca97b8881e1bd3e158881f4d5a8e
1419 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3190252
1420 -Commit-Queue: Dominik Röttsches <drott@××××××××.org>
1421 -Commit-Queue: Calder Kitagawa <ckitagawa@××××××××.org>
1422 -Auto-Submit: Dominik Röttsches <drott@××××××××.org>
1423 -Reviewed-by: Calder Kitagawa <ckitagawa@××××××××.org>
1424 -Reviewed-by: Anders Hartvoll Ruud <andruud@××××××××.org>
1425 -Cr-Commit-Position: refs/heads/main@{#925776}
1426 -
1427 -(only components/paint_preview/common/subset_font.cc)
1428 ----
1429 -
1430 -diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc
1431 -index 45daea7b1..43a448e 100644
1432 ---- a/components/paint_preview/common/subset_font.cc
1433 -+++ b/components/paint_preview/common/subset_font.cc
1434 -@@ -79,7 +79,7 @@
1435 - // Retain all variation information for OpenType variation fonts. See:
1436 - // https://docs.microsoft.com/en-us/typography/opentype/spec/otvaroverview
1437 - hb_set_t* skip_subset =
1438 -- hb_subset_input_no_subset_tables_set(input.get()); // Owned by |input|.
1439 -+ hb_subset_input_set(input.get(), HB_SUBSET_SETS_NO_SUBSET_TABLE_TAG);
1440 - hb_set_add(skip_subset, HB_TAG('a', 'v', 'a', 'r'));
1441 - hb_set_add(skip_subset, HB_TAG('c', 'v', 'a', 'r'));
1442 - hb_set_add(skip_subset, HB_TAG('f', 'v', 'a', 'r'));
1443
1444 diff --git a/www-client/chromium/files/chromium-95-maldoca-zlib.patch b/www-client/chromium/files/chromium-95-maldoca-zlib.patch
1445 deleted file mode 100644
1446 index 1f64a66ddcdb..000000000000
1447 --- a/www-client/chromium/files/chromium-95-maldoca-zlib.patch
1448 +++ /dev/null
1449 @@ -1,13 +0,0 @@
1450 -diff --git a/third_party/maldoca/BUILD.gn b/third_party/maldoca/BUILD.gn
1451 -index eeab205..29a0a2c 100644
1452 ---- a/third_party/maldoca/BUILD.gn
1453 -+++ b/third_party/maldoca/BUILD.gn
1454 -@@ -224,7 +224,7 @@ source_set("maldoca-ole") {
1455 - "//third_party/libxml",
1456 - "//third_party/protobuf:protobuf_lite",
1457 - "//third_party/re2",
1458 -- "//third_party/zlib:zlib_common_headers",
1459 -+ "//third_party/zlib:zlib",
1460 - "//third_party/zlib/google:zip",
1461 - ]
1462 -
1463
1464 diff --git a/www-client/chromium/files/chromium-95-xfce-maximize.patch b/www-client/chromium/files/chromium-95-xfce-maximize.patch
1465 deleted file mode 100644
1466 index 296d97873ddc..000000000000
1467 --- a/www-client/chromium/files/chromium-95-xfce-maximize.patch
1468 +++ /dev/null
1469 @@ -1,30 +0,0 @@
1470 -From 603d765ca5154db27718d89a2ee9be2a95a64254 Mon Sep 17 00:00:00 2001
1471 -From: Alexander Dunaev <adunaev@××××××.com>
1472 -Date: Fri, 29 Oct 2021 20:54:46 +0700
1473 -Subject: [PATCH] [linux/xfce] Set zero insets on maximising the window.
1474 -
1475 -It turned out that Xfwm handles the frame insets not the way KWin and
1476 -Mutter do.
1477 -
1478 -Bug: 1260821
1479 -Change-Id: I69e71049157c03b74d78bc5edb7a60bf39cdda8b
1480 ----
1481 -
1482 -diff --git a/ui/platform_window/x11/x11_window.cc b/ui/platform_window/x11/x11_window.cc
1483 -index dd381747..706f19c 100644
1484 ---- a/ui/platform_window/x11/x11_window.cc
1485 -+++ b/ui/platform_window/x11/x11_window.cc
1486 -@@ -676,6 +676,13 @@
1487 - // save this one for later too.
1488 - should_maximize_after_map_ = !window_mapped_in_client_;
1489 -
1490 -+ // Some WMs keep respecting the frame extents even if the window is maximised.
1491 -+ // Remove the insets when maximising. The extents will be set again when the
1492 -+ // window is restored to normal state.
1493 -+ // See https://crbug.com/1260821
1494 -+ if (CanSetDecorationInsets())
1495 -+ SetDecorationInsets(nullptr);
1496 -+
1497 - SetWMSpecState(true, x11::GetAtom("_NET_WM_STATE_MAXIMIZED_VERT"),
1498 - x11::GetAtom("_NET_WM_STATE_MAXIMIZED_HORZ"));
1499 - }