Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/files/, www-client/chromium/
Date: Thu, 06 Feb 2020 20:24:07
Message-Id: 1581020632.0fa03d97f8516e35e00f7a1bbfb78580cb35dbed.floppym@gentoo
1 commit: 0fa03d97f8516e35e00f7a1bbfb78580cb35dbed
2 Author: Stephan Hartmann <stha09 <AT> googlemail <DOT> com>
3 AuthorDate: Thu Feb 6 12:33:20 2020 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Thu Feb 6 20:23:52 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fa03d97
7
8 www-client/chromium: security cleanup
9
10 Bug: https://bugs.gentoo.org/708322
11 Package-Manager: Portage-2.3.76, Repoman-2.3.16
12 Signed-off-by: Stephan Hartmann <stha09 <AT> googlemail.com>
13 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
14 Closes: https://github.com/gentoo/gentoo/pull/14580
15
16 www-client/chromium/Manifest | 1 -
17 www-client/chromium/chromium-79.0.3945.130.ebuild | 736 ---------------------
18 .../chromium-79-gcc-ambiguous-nodestructor.patch | 39 --
19 .../files/chromium-79-gcc-name-clash.patch | 135 ----
20 .../files/chromium-79-gcc-permissive.patch | 79 ---
21 www-client/chromium/files/chromium-79-icu-65.patch | 13 -
22 .../chromium/files/chromium-79-include.patch | 131 ----
23 .../chromium/files/chromium-79-system-hb.patch | 19 -
24 8 files changed, 1153 deletions(-)
25
26 diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
27 index 840c9362824..23022952130 100644
28 --- a/www-client/chromium/Manifest
29 +++ b/www-client/chromium/Manifest
30 @@ -1,3 +1,2 @@
31 -DIST chromium-79.0.3945.130.tar.xz 778319112 BLAKE2B ac6d7c08c34afc4de8383964f76a5eabc9209de185535a27eff2d6934a77d01fd6b07d5c5afb16e9dd936b2650da76d460e8a485ab16f8300144c7de9b3be2bb SHA512 4b5d4769b068f20b8028085a148cbaf31311eeffad0a22c5c0909af273a8e57e077b33cc93331bbeff9165477262eed2e345b2224ac4f76d8bdb79f983596a81
32 DIST chromium-80.0.3987.87.tar.xz 801310184 BLAKE2B d051f77b0e6f167632e383e23983531ee1f44f1fce1629f482cf42882c294816bd98c51ad043b5258aa9652a8da14edf278f70fc63f6978c9dfececa547a1fca SHA512 69aebd760d9b8f2c5f4d15a3a144cd4292ffb11b1536af3596f907e730ac64e909d739bb6e9d322a8f56fac75e4f0b2b5c4c36c4fe4bb52147276b5b0dd03620
33 DIST chromium-81.0.4040.5.tar.xz 828003840 BLAKE2B 81b3d4b15d5cdc99bcb19ab3745e49b402f00d68a557f58fa3ae0e6b584c28473dba5ca8622373721e54c64760adbf7cb9daae93c1b29336e7f9fc3a387b199f SHA512 47928d6fc022dc0d8b51562c8079baf25aad098f93c52dd4d07d70fa6d9c4b56b4920e163ff3b44d328e741184d5af327394fa56aa36c54509406f2d67e525ed
34
35 diff --git a/www-client/chromium/chromium-79.0.3945.130.ebuild b/www-client/chromium/chromium-79.0.3945.130.ebuild
36 deleted file mode 100644
37 index 76a0f4f0682..00000000000
38 --- a/www-client/chromium/chromium-79.0.3945.130.ebuild
39 +++ /dev/null
40 @@ -1,736 +0,0 @@
41 -# Copyright 2009-2020 Gentoo Authors
42 -# Distributed under the terms of the GNU General Public License v2
43 -
44 -EAPI=7
45 -PYTHON_COMPAT=( python2_7 )
46 -
47 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
48 - 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
49 - sv sw ta te th tr uk vi zh-CN zh-TW"
50 -
51 -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
52 -
53 -DESCRIPTION="Open-source version of Google Chrome web browser"
54 -HOMEPAGE="http://chromium.org/"
55 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz"
56 -
57 -LICENSE="BSD"
58 -SLOT="0"
59 -KEYWORDS="amd64 ~arm64 ~x86"
60 -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
61 -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
62 -REQUIRED_USE="component-build? ( !suid )"
63 -
64 -COMMON_DEPEND="
65 - >=app-accessibility/at-spi2-atk-2.26:2
66 - app-arch/bzip2:=
67 - cups? ( >=net-print/cups-1.3.11:= )
68 - >=dev-libs/atk-2.26
69 - dev-libs/expat:=
70 - dev-libs/glib:2
71 - system-icu? ( >=dev-libs/icu-65:= )
72 - >=dev-libs/libxml2-2.9.4-r3:=[icu]
73 - dev-libs/libxslt:=
74 - dev-libs/nspr:=
75 - >=dev-libs/nss-3.26:=
76 - >=dev-libs/re2-0.2016.11.01:=
77 - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
78 - >=media-libs/alsa-lib-1.0.19:=
79 - media-libs/fontconfig:=
80 - media-libs/freetype:=
81 - >=media-libs/harfbuzz-2.4.0:0=[icu(-)]
82 - media-libs/libjpeg-turbo:=
83 - media-libs/libpng:=
84 - system-libvpx? ( media-libs/libvpx:=[postproc,svc] )
85 - >=media-libs/openh264-1.6.0:=
86 - pulseaudio? ( media-sound/pulseaudio:= )
87 - system-ffmpeg? (
88 - >=media-video/ffmpeg-4:=
89 - || (
90 - media-video/ffmpeg[-samba]
91 - >=net-fs/samba-4.5.10-r1[-debug(-)]
92 - )
93 - !=net-fs/samba-4.5.12-r0
94 - media-libs/opus:=
95 - )
96 - sys-apps/dbus:=
97 - sys-apps/pciutils:=
98 - virtual/udev
99 - x11-libs/cairo:=
100 - x11-libs/gdk-pixbuf:2
101 - x11-libs/gtk+:3[X]
102 - x11-libs/libX11:=
103 - x11-libs/libXcomposite:=
104 - x11-libs/libXcursor:=
105 - x11-libs/libXdamage:=
106 - x11-libs/libXext:=
107 - x11-libs/libXfixes:=
108 - >=x11-libs/libXi-1.6.0:=
109 - x11-libs/libXrandr:=
110 - x11-libs/libXrender:=
111 - x11-libs/libXScrnSaver:=
112 - x11-libs/libXtst:=
113 - x11-libs/pango:=
114 - app-arch/snappy:=
115 - media-libs/flac:=
116 - >=media-libs/libwebp-0.4.0:=
117 - sys-libs/zlib:=[minizip]
118 - kerberos? ( virtual/krb5 )
119 -"
120 -# For nvidia-drivers blocker, see bug #413637 .
121 -RDEPEND="${COMMON_DEPEND}
122 - !<www-plugins/chrome-binary-plugins-57
123 - x11-misc/xdg-utils
124 - virtual/opengl
125 - virtual/ttf-fonts
126 - selinux? ( sec-policy/selinux-chromium )
127 - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
128 -"
129 -DEPEND="${COMMON_DEPEND}
130 -"
131 -# dev-vcs/git - https://bugs.gentoo.org/593476
132 -BDEPEND="
133 - ${PYTHON_DEPS}
134 - >=app-arch/gzip-1.7
135 - !arm? (
136 - dev-lang/yasm
137 - )
138 - dev-lang/perl
139 - dev-util/gn
140 - dev-vcs/git
141 - >=dev-util/gperf-3.0.3
142 - >=dev-util/ninja-1.7.2
143 - >=net-libs/nodejs-7.6.0[inspector]
144 - sys-apps/hwids[usb(+)]
145 - >=sys-devel/bison-2.4.3
146 - sys-devel/flex
147 - closure-compile? ( virtual/jre )
148 - virtual/pkgconfig
149 -"
150 -
151 -: ${CHROMIUM_FORCE_CLANG=no}
152 -
153 -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
154 - BDEPEND+=" >=sys-devel/clang-7"
155 -fi
156 -
157 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
158 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
159 -fi
160 -
161 -DISABLE_AUTOFORMATTING="yes"
162 -DOC_CONTENTS="
163 -Some web pages may require additional fonts to display properly.
164 -Try installing some of the following packages if some characters
165 -are not displayed properly:
166 -- media-fonts/arphicfonts
167 -- media-fonts/droid
168 -- media-fonts/ipamonafont
169 -- media-fonts/noto
170 -- media-fonts/ja-ipafonts
171 -- media-fonts/takao-fonts
172 -- media-fonts/wqy-microhei
173 -- media-fonts/wqy-zenhei
174 -
175 -To fix broken icons on the Downloads page, you should install an icon
176 -theme that covers the appropriate MIME types, and configure this as your
177 -GTK+ icon theme.
178 -
179 -For native file dialogs in KDE, install kde-apps/kdialog.
180 -"
181 -
182 -PATCHES=(
183 - "${FILESDIR}/chromium-compiler-r10.patch"
184 - "${FILESDIR}/chromium-fix-char_traits.patch"
185 - "${FILESDIR}/chromium-unbundle-zlib-r1.patch"
186 - "${FILESDIR}/chromium-77-system-icu.patch"
187 - "${FILESDIR}/chromium-78-protobuf-export.patch"
188 - "${FILESDIR}/chromium-79-system-hb.patch"
189 - "${FILESDIR}/chromium-79-include.patch"
190 - "${FILESDIR}/chromium-79-icu-65.patch"
191 - "${FILESDIR}/chromium-79-gcc-ambiguous-nodestructor.patch"
192 - "${FILESDIR}/chromium-79-gcc-name-clash.patch"
193 - "${FILESDIR}/chromium-79-gcc-permissive.patch"
194 - "${FILESDIR}/chromium-79-gcc-alignas.patch"
195 -)
196 -
197 -pre_build_checks() {
198 - if [[ ${MERGE_TYPE} != binary ]]; then
199 - local -x CPP="$(tc-getCXX) -E"
200 - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then
201 - die "At least gcc 8.0 is required"
202 - fi
203 - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976.
204 - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then
205 - die "Component build with tcmalloc requires FEATURES=-usersandbox."
206 - fi
207 - fi
208 -
209 - # Check build requirements, bug #541816 and bug #471810 .
210 - CHECKREQS_MEMORY="3G"
211 - CHECKREQS_DISK_BUILD="7G"
212 - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
213 - CHECKREQS_DISK_BUILD="25G"
214 - if ! use component-build; then
215 - CHECKREQS_MEMORY="16G"
216 - fi
217 - fi
218 - check-reqs_pkg_setup
219 -}
220 -
221 -pkg_pretend() {
222 - pre_build_checks
223 -}
224 -
225 -pkg_setup() {
226 - pre_build_checks
227 -
228 - chromium_suid_sandbox_check_kernel_config
229 -}
230 -
231 -src_prepare() {
232 - # Calling this here supports resumption via FEATURES=keepwork
233 - python_setup
234 -
235 - default
236 -
237 - mkdir -p third_party/node/linux/node-linux-x64/bin || die
238 - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
239 -
240 - local keeplibs=(
241 - base/third_party/cityhash
242 - base/third_party/double_conversion
243 - base/third_party/dynamic_annotations
244 - base/third_party/icu
245 - base/third_party/nspr
246 - base/third_party/superfasthash
247 - base/third_party/symbolize
248 - base/third_party/valgrind
249 - base/third_party/xdg_mime
250 - base/third_party/xdg_user_dirs
251 - buildtools/third_party/libc++
252 - buildtools/third_party/libc++abi
253 - chrome/third_party/mozilla_security_manager
254 - courgette/third_party
255 - net/third_party/mozilla_security_manager
256 - net/third_party/nss
257 - net/third_party/quic
258 - net/third_party/uri_template
259 - third_party/abseil-cpp
260 - third_party/angle
261 - third_party/angle/src/common/third_party/base
262 - third_party/angle/src/common/third_party/smhasher
263 - third_party/angle/src/common/third_party/xxhash
264 - third_party/angle/src/third_party/compiler
265 - third_party/angle/src/third_party/libXNVCtrl
266 - third_party/angle/src/third_party/trace_event
267 - third_party/angle/third_party/glslang
268 - third_party/angle/third_party/spirv-headers
269 - third_party/angle/third_party/spirv-tools
270 - third_party/angle/third_party/vulkan-headers
271 - third_party/angle/third_party/vulkan-loader
272 - third_party/angle/third_party/vulkan-tools
273 - third_party/angle/third_party/vulkan-validation-layers
274 - third_party/apple_apsl
275 - third_party/axe-core
276 - third_party/blink
277 - third_party/boringssl
278 - third_party/boringssl/src/third_party/fiat
279 - third_party/boringssl/src/third_party/sike
280 - third_party/boringssl/linux-aarch64/crypto/third_party/sike
281 - third_party/boringssl/linux-x86_64/crypto/third_party/sike
282 - third_party/breakpad
283 - third_party/breakpad/breakpad/src/third_party/curl
284 - third_party/brotli
285 - third_party/cacheinvalidation
286 - third_party/catapult
287 - third_party/catapult/common/py_vulcanize/third_party/rcssmin
288 - third_party/catapult/common/py_vulcanize/third_party/rjsmin
289 - third_party/catapult/third_party/beautifulsoup4
290 - third_party/catapult/third_party/html5lib-python
291 - third_party/catapult/third_party/polymer
292 - third_party/catapult/third_party/six
293 - third_party/catapult/tracing/third_party/d3
294 - third_party/catapult/tracing/third_party/gl-matrix
295 - third_party/catapult/tracing/third_party/jpeg-js
296 - third_party/catapult/tracing/third_party/jszip
297 - third_party/catapult/tracing/third_party/mannwhitneyu
298 - third_party/catapult/tracing/third_party/oboe
299 - third_party/catapult/tracing/third_party/pako
300 - third_party/ced
301 - third_party/cld_3
302 - third_party/closure_compiler
303 - third_party/crashpad
304 - third_party/crashpad/crashpad/third_party/lss
305 - third_party/crashpad/crashpad/third_party/zlib
306 - third_party/crc32c
307 - third_party/cros_system_api
308 - third_party/dav1d
309 - third_party/dawn
310 - third_party/depot_tools
311 - third_party/devscripts
312 - third_party/dom_distiller_js
313 - third_party/emoji-segmenter
314 - third_party/flatbuffers
315 - third_party/flot
316 - third_party/freetype
317 - third_party/glslang
318 - third_party/google_input_tools
319 - third_party/google_input_tools/third_party/closure_library
320 - third_party/google_input_tools/third_party/closure_library/third_party/closure
321 - third_party/googletest
322 - third_party/hunspell
323 - third_party/iccjpeg
324 - third_party/inspector_protocol
325 - third_party/jinja2
326 - third_party/jsoncpp
327 - third_party/jstemplate
328 - third_party/khronos
329 - third_party/leveldatabase
330 - third_party/libXNVCtrl
331 - third_party/libaddressinput
332 - third_party/libaom
333 - third_party/libaom/source/libaom/third_party/vector
334 - third_party/libaom/source/libaom/third_party/x86inc
335 - third_party/libjingle
336 - third_party/libphonenumber
337 - third_party/libsecret
338 - third_party/libsrtp
339 - third_party/libsync
340 - third_party/libudev
341 - third_party/libwebm
342 - third_party/libxml/chromium
343 - third_party/libyuv
344 - third_party/llvm
345 - third_party/lss
346 - third_party/lzma_sdk
347 - third_party/markupsafe
348 - third_party/mesa
349 - third_party/metrics_proto
350 - third_party/modp_b64
351 - third_party/nasm
352 - third_party/node
353 - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
354 - third_party/one_euro_filter
355 - third_party/openscreen
356 - third_party/openscreen/src/third_party/tinycbor/src/src
357 - third_party/ots
358 - third_party/pdfium
359 - third_party/pdfium/third_party/agg23
360 - third_party/pdfium/third_party/base
361 - third_party/pdfium/third_party/bigint
362 - third_party/pdfium/third_party/freetype
363 - third_party/pdfium/third_party/lcms
364 - third_party/pdfium/third_party/libopenjpeg20
365 - third_party/pdfium/third_party/libpng16
366 - third_party/pdfium/third_party/libtiff
367 - third_party/pdfium/third_party/skia_shared
368 - third_party/perfetto
369 - third_party/pffft
370 - third_party/ply
371 - third_party/polymer
372 - third_party/private-join-and-compute
373 - third_party/protobuf
374 - third_party/protobuf/third_party/six
375 - third_party/pyjson5
376 - third_party/qcms
377 - third_party/rnnoise
378 - third_party/s2cellid
379 - third_party/sfntly
380 - third_party/simplejson
381 - third_party/skia
382 - third_party/skia/include/third_party/skcms
383 - third_party/skia/include/third_party/vulkan
384 - third_party/skia/third_party/gif
385 - third_party/skia/third_party/skcms
386 - third_party/skia/third_party/vulkan
387 - third_party/smhasher
388 - third_party/spirv-headers
389 - third_party/SPIRV-Tools
390 - third_party/sqlite
391 - third_party/swiftshader
392 - third_party/swiftshader/third_party/llvm-7.0
393 - third_party/swiftshader/third_party/llvm-subzero
394 - third_party/swiftshader/third_party/marl
395 - third_party/swiftshader/third_party/subzero
396 - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
397 - third_party/unrar
398 - third_party/usrsctp
399 - third_party/vulkan
400 - third_party/web-animations-js
401 - third_party/webdriver
402 - third_party/webrtc
403 - third_party/webrtc/common_audio/third_party/fft4g
404 - third_party/webrtc/common_audio/third_party/spl_sqrt_floor
405 - third_party/webrtc/modules/third_party/fft
406 - third_party/webrtc/modules/third_party/g711
407 - third_party/webrtc/modules/third_party/g722
408 - third_party/webrtc/rtc_base/third_party/base64
409 - third_party/webrtc/rtc_base/third_party/sigslot
410 - third_party/widevine
411 - third_party/woff2
412 - third_party/zlib/google
413 - tools/grit/third_party/six
414 - url/third_party/mozilla
415 - v8/src/third_party/siphash
416 - v8/src/third_party/valgrind
417 - v8/src/third_party/utf8-decoder
418 - v8/third_party/inspector_protocol
419 - v8/third_party/v8
420 -
421 - # gyp -> gn leftovers
422 - base/third_party/libevent
423 - third_party/adobe
424 - third_party/speech-dispatcher
425 - third_party/usb_ids
426 - third_party/xdg-utils
427 - third_party/yasm/run_yasm.py
428 - )
429 - if ! use system-ffmpeg; then
430 - keeplibs+=( third_party/ffmpeg third_party/opus )
431 - fi
432 - if ! use system-icu; then
433 - keeplibs+=( third_party/icu )
434 - fi
435 - if ! use system-libvpx; then
436 - keeplibs+=( third_party/libvpx )
437 - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
438 - fi
439 - if use tcmalloc; then
440 - keeplibs+=( third_party/tcmalloc )
441 - fi
442 -
443 - # Remove most bundled libraries. Some are still needed.
444 - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
445 -}
446 -
447 -src_configure() {
448 - # Calling this here supports resumption via FEATURES=keepwork
449 - python_setup
450 -
451 - local myconf_gn=""
452 -
453 - # Make sure the build system will use the right tools, bug #340795.
454 - tc-export AR CC CXX NM
455 -
456 - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
457 - # Force clang since gcc is pretty broken at the moment.
458 - CC=${CHOST}-clang
459 - CXX=${CHOST}-clang++
460 - strip-unsupported-flags
461 - fi
462 -
463 - if tc-is-clang; then
464 - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
465 - else
466 - myconf_gn+=" is_clang=false"
467 - fi
468 -
469 - # Define a custom toolchain for GN
470 - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
471 -
472 - if tc-is-cross-compiler; then
473 - tc-export BUILD_{AR,CC,CXX,NM}
474 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
475 - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
476 - else
477 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
478 - fi
479 -
480 - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
481 - myconf_gn+=" is_debug=false"
482 -
483 - # Component build isn't generally intended for use by end users. It's mostly useful
484 - # for development and debugging.
485 - myconf_gn+=" is_component_build=$(usex component-build true false)"
486 -
487 - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
488 -
489 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
490 - myconf_gn+=" enable_nacl=false"
491 -
492 - # Use system-provided libraries.
493 - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
494 - # TODO: use_system_hunspell (upstream changes needed).
495 - # TODO: use_system_libsrtp (bug #459932).
496 - # TODO: use_system_protobuf (bug #525560).
497 - # TODO: use_system_ssl (http://crbug.com/58087).
498 - # TODO: use_system_sqlite (http://crbug.com/22208).
499 -
500 - # libevent: https://bugs.gentoo.org/593458
501 - local gn_system_libraries=(
502 - flac
503 - fontconfig
504 - freetype
505 - # Need harfbuzz_from_pkgconfig target
506 - #harfbuzz-ng
507 - libdrm
508 - libjpeg
509 - libpng
510 - libwebp
511 - libxml
512 - libxslt
513 - openh264
514 - re2
515 - snappy
516 - yasm
517 - zlib
518 - )
519 - if use system-ffmpeg; then
520 - gn_system_libraries+=( ffmpeg opus )
521 - fi
522 - if use system-icu; then
523 - gn_system_libraries+=( icu )
524 - fi
525 - if use system-libvpx; then
526 - gn_system_libraries+=( libvpx )
527 - fi
528 - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
529 -
530 - # See dependency logic in third_party/BUILD.gn
531 - myconf_gn+=" use_system_harfbuzz=true"
532 -
533 - # Optional dependencies.
534 - myconf_gn+=" closure_compile=$(usex closure-compile true false)"
535 - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
536 - myconf_gn+=" enable_widevine=$(usex widevine true false)"
537 - myconf_gn+=" use_cups=$(usex cups true false)"
538 - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
539 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
540 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
541 -
542 - # TODO: link_pulseaudio=true for GN.
543 -
544 - myconf_gn+=" fieldtrial_testing_like_official_build=true"
545 -
546 - # Never use bundled gold binary. Disable gold linker flags for now.
547 - # Do not use bundled clang.
548 - # Trying to use gold results in linker crash.
549 - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false"
550 -
551 - # Disable forced lld, bug 641556
552 - myconf_gn+=" use_lld=false"
553 -
554 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
555 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
556 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
557 -
558 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
559 - # Note: these are for Gentoo use ONLY. For your own distribution,
560 - # please get your own set of keys. Feel free to contact chromium@g.o
561 - # for more info.
562 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
563 - local google_default_client_id="329227923882.apps.googleusercontent.com"
564 - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
565 - myconf_gn+=" google_api_key=\"${google_api_key}\""
566 - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
567 - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
568 - local myarch="$(tc-arch)"
569 -
570 - # Avoid CFLAGS problems, bug #352457, bug #390147.
571 - if ! use custom-cflags; then
572 - replace-flags "-Os" "-O2"
573 - strip-flags
574 -
575 - # Prevent linker from running out of address space, bug #471810 .
576 - if use x86; then
577 - filter-flags "-g*"
578 - fi
579 -
580 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
581 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
582 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2
583 - fi
584 - fi
585 -
586 - if [[ $myarch = amd64 ]] ; then
587 - myconf_gn+=" target_cpu=\"x64\""
588 - ffmpeg_target_arch=x64
589 - elif [[ $myarch = x86 ]] ; then
590 - myconf_gn+=" target_cpu=\"x86\""
591 - ffmpeg_target_arch=ia32
592 -
593 - # This is normally defined by compiler_cpu_abi in
594 - # build/config/compiler/BUILD.gn, but we patch that part out.
595 - append-flags -msse2 -mfpmath=sse -mmmx
596 - elif [[ $myarch = arm64 ]] ; then
597 - myconf_gn+=" target_cpu=\"arm64\""
598 - ffmpeg_target_arch=arm64
599 - elif [[ $myarch = arm ]] ; then
600 - myconf_gn+=" target_cpu=\"arm\""
601 - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
602 - else
603 - die "Failed to determine target arch, got '$myarch'."
604 - fi
605 -
606 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
607 - # Depending on GCC version the warnings are different and we don't want
608 - # the build to fail because of that.
609 - myconf_gn+=" treat_warnings_as_errors=false"
610 -
611 - # Disable fatal linker warnings, bug 506268.
612 - myconf_gn+=" fatal_linker_warnings=false"
613 -
614 - # Bug 491582.
615 - export TMPDIR="${WORKDIR}/temp"
616 - mkdir -p -m 755 "${TMPDIR}" || die
617 -
618 - # https://bugs.gentoo.org/654216
619 - addpredict /dev/dri/ #nowarn
620 -
621 - #if ! use system-ffmpeg; then
622 - if false; then
623 - local build_ffmpeg_args=""
624 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
625 - build_ffmpeg_args+=" --disable-asm"
626 - fi
627 -
628 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
629 - einfo "Configuring bundled ffmpeg..."
630 - pushd third_party/ffmpeg > /dev/null || die
631 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
632 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
633 - chromium/scripts/copy_config.sh || die
634 - chromium/scripts/generate_gn.py || die
635 - popd > /dev/null || die
636 - fi
637 -
638 - # Explicitly disable ICU data file support for system-icu builds.
639 - if use system-icu; then
640 - myconf_gn+=" icu_use_data_file=false"
641 - fi
642 -
643 - einfo "Configuring Chromium..."
644 - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
645 - echo "$@"
646 - "$@" || die
647 -}
648 -
649 -src_compile() {
650 - # Final link uses lots of file descriptors.
651 - ulimit -n 2048
652 -
653 - # Calling this here supports resumption via FEATURES=keepwork
654 - python_setup
655 -
656 - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
657 -
658 - # Build mksnapshot and pax-mark it.
659 - local x
660 - for x in mksnapshot v8_context_snapshot_generator; do
661 - if tc-is-cross-compiler; then
662 - eninja -C out/Release "host/${x}"
663 - pax-mark m "out/Release/host/${x}"
664 - else
665 - eninja -C out/Release "${x}"
666 - pax-mark m "out/Release/${x}"
667 - fi
668 - done
669 -
670 - # Even though ninja autodetects number of CPUs, we respect
671 - # user's options, for debugging with -j 1 or any other reason.
672 - eninja -C out/Release chrome chromedriver
673 - use suid && eninja -C out/Release chrome_sandbox
674 -
675 - pax-mark m out/Release/chrome
676 -
677 - # Build manpage; bug #684550
678 - sed -e 's|@@PACKAGE@@|chromium-browser|g;
679 - s|@@MENUNAME@@|Chromium|g;' \
680 - chrome/app/resources/manpage.1.in > \
681 - out/Release/chromium-browser.1 || die
682 -}
683 -
684 -src_install() {
685 - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
686 - exeinto "${CHROMIUM_HOME}"
687 - doexe out/Release/chrome
688 -
689 - if use suid; then
690 - newexe out/Release/chrome_sandbox chrome-sandbox
691 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
692 - fi
693 -
694 - doexe out/Release/chromedriver
695 -
696 - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
697 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
698 - doexe chromium-launcher.sh
699 -
700 - # It is important that we name the target "chromium-browser",
701 - # xdg-utils expect it; bug #355517.
702 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
703 - # keep the old symlink around for consistency
704 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
705 -
706 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
707 -
708 - # Allow users to override command-line options, bug #357629.
709 - insinto /etc/chromium
710 - newins "${FILESDIR}/chromium.default" "default"
711 -
712 - pushd out/Release/locales > /dev/null || die
713 - chromium_remove_language_paks
714 - popd
715 -
716 - insinto "${CHROMIUM_HOME}"
717 - doins out/Release/*.bin
718 - doins out/Release/*.pak
719 - doins out/Release/*.so
720 -
721 - if ! use system-icu; then
722 - doins out/Release/icudtl.dat
723 - fi
724 -
725 - doins -r out/Release/locales
726 - doins -r out/Release/resources
727 -
728 - if [[ -d out/Release/swiftshader ]]; then
729 - insinto "${CHROMIUM_HOME}/swiftshader"
730 - doins out/Release/swiftshader/*.so
731 - fi
732 -
733 - # Install icons and desktop entry.
734 - local branding size
735 - for size in 16 24 32 48 64 128 256 ; do
736 - case ${size} in
737 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
738 - *) branding="chrome/app/theme/chromium" ;;
739 - esac
740 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
741 - chromium-browser.png
742 - done
743 -
744 - local mime_types="text/html;text/xml;application/xhtml+xml;"
745 - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
746 - mime_types+="x-scheme-handler/ftp;" # bug #412185
747 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
748 - make_desktop_entry \
749 - chromium-browser \
750 - "Chromium" \
751 - chromium-browser \
752 - "Network;WebBrowser" \
753 - "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
754 - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
755 -
756 - # Install GNOME default application entry (bug #303100).
757 - insinto /usr/share/gnome-control-center/default-apps
758 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
759 -
760 - # Install manpage; bug #684550
761 - doman out/Release/chromium-browser.1
762 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1
763 -
764 - readme.gentoo_create_doc
765 -}
766 -
767 -pkg_postrm() {
768 - xdg_icon_cache_update
769 - xdg_desktop_database_update
770 -}
771 -
772 -pkg_postinst() {
773 - xdg_icon_cache_update
774 - xdg_desktop_database_update
775 - readme.gentoo_print_elog
776 -}
777
778 diff --git a/www-client/chromium/files/chromium-79-gcc-ambiguous-nodestructor.patch b/www-client/chromium/files/chromium-79-gcc-ambiguous-nodestructor.patch
779 deleted file mode 100644
780 index d43a091b971..00000000000
781 --- a/www-client/chromium/files/chromium-79-gcc-ambiguous-nodestructor.patch
782 +++ /dev/null
783 @@ -1,39 +0,0 @@
784 -From af77dc4014ead3d898fdc8a7a70fe5063ac9b102 Mon Sep 17 00:00:00 2001
785 -From: Jose Dapena Paz <jose.dapena@×××.com>
786 -Date: Fri, 25 Oct 2019 19:01:29 +0000
787 -Subject: [PATCH] GCC: use brace-initializer for DohUpgrade vector
788 -
789 -Constructing NoDestructor with parenthesis constructor is ambiguous
790 -in GCC. Use brace-initializer to avoid that problem. This fixes this
791 -build error:
792 -
793 -Bug: 819294
794 -Change-Id: I00dda42daa1794d11e022f26ac07f92e599d106d
795 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879910
796 -Reviewed-by: Eric Orth <ericorth@××××××××.org>
797 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
798 -Cr-Commit-Position: refs/heads/master@{#709569}
799 ----
800 -
801 -diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc
802 -index 14997c4..637b6f2 100644
803 ---- a/net/dns/dns_util.cc
804 -+++ b/net/dns/dns_util.cc
805 -@@ -144,7 +144,7 @@
806 - // DohProviderId histogram suffix list in
807 - // tools/metrics/histograms/histograms.xml.
808 - static const base::NoDestructor<std::vector<DohUpgradeEntry>>
809 -- upgradable_servers({
810 -+ upgradable_servers{{
811 - DohUpgradeEntry(
812 - "CleanBrowsingAdult",
813 - {"185.228.168.10", "185.228.169.11", "2a0d:2a00:1::1",
814 -@@ -215,7 +215,7 @@
815 - {"9.9.9.9", "149.112.112.112", "2620:fe::fe", "2620:fe::9"},
816 - {"dns.quad9.net", "dns9.quad9.net"} /* DoT hostname */,
817 - {"https://dns.quad9.net/dns-query", true /* use_post */}),
818 -- });
819 -+ }};
820 - return *upgradable_servers;
821 - }
822 -
823
824 diff --git a/www-client/chromium/files/chromium-79-gcc-name-clash.patch b/www-client/chromium/files/chromium-79-gcc-name-clash.patch
825 deleted file mode 100644
826 index 2324f4db7f9..00000000000
827 --- a/www-client/chromium/files/chromium-79-gcc-name-clash.patch
828 +++ /dev/null
829 @@ -1,135 +0,0 @@
830 -From e925deab264e5ebc3c5c13415aa3d44a746e8d45 Mon Sep 17 00:00:00 2001
831 -From: Jose Dapena Paz <jose.dapena@×××.com>
832 -Date: Fri, 25 Oct 2019 14:53:51 +0000
833 -Subject: [PATCH] GCC: avoid clash of WebThemeEngine::ForcedColors with ForcedColors enum class
834 -
835 -GCC fails to build because the declaration of the enum class ForcedColors
836 -clashes with the GetForcedColors method.
837 -
838 -Bug: 819294
839 -Change-Id: I5c7647978d15c771f5372a8c70ac6aeb2284fb2f
840 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879452
841 -Reviewed-by: Kentaro Hara <haraken@××××××××.org>
842 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
843 -Cr-Commit-Position: refs/heads/master@{#709469}
844 -
845 -(backported to M79)
846 ----
847 -
848 -diff --git a/content/child/webthemeengine_impl_android.cc b/content/child/webthemeengine_impl_android.cc
849 -index 2e703d6..3759f6c 100644
850 ---- a/content/child/webthemeengine_impl_android.cc
851 -+++ b/content/child/webthemeengine_impl_android.cc
852 -@@ -228,7 +228,7 @@ void WebThemeEngineAndroid::Paint(
853 - native_theme_extra_params, NativeColorScheme(color_scheme));
854 - }
855 -
856 --blink::ForcedColors WebThemeEngineAndroid::ForcedColors() const {
857 -+blink::ForcedColors WebThemeEngineAndroid::GetForcedColors() const {
858 - return forced_colors_;
859 - }
860 -
861 -diff --git a/content/child/webthemeengine_impl_android.h b/content/child/webthemeengine_impl_android.h
862 -index 0c113a88..95e2744 100644
863 ---- a/content/child/webthemeengine_impl_android.h
864 -+++ b/content/child/webthemeengine_impl_android.h
865 -@@ -22,7 +22,7 @@
866 - const blink::WebRect& rect,
867 - const blink::WebThemeEngine::ExtraParams* extra_params,
868 - blink::WebColorScheme color_scheme) override;
869 -- blink::ForcedColors ForcedColors() const override;
870 -+ blink::ForcedColors GetForcedColors() const override;
871 - void SetForcedColors(const blink::ForcedColors forced_colors) override;
872 - blink::PreferredColorScheme PreferredColorScheme() const override;
873 - void SetPreferredColorScheme(
874 -diff --git a/content/child/webthemeengine_impl_default.cc b/content/child/webthemeengine_impl_default.cc
875 -index 84db298..04af6c6 100644
876 ---- a/content/child/webthemeengine_impl_default.cc
877 -+++ b/content/child/webthemeengine_impl_default.cc
878 -@@ -232,7 +232,7 @@
879 - }
880 - #endif
881 -
882 --blink::ForcedColors WebThemeEngineDefault::ForcedColors() const {
883 -+blink::ForcedColors WebThemeEngineDefault::GetForcedColors() const {
884 - return ui::NativeTheme::GetInstanceForWeb()->UsesHighContrastColors()
885 - ? blink::ForcedColors::kActive
886 - : blink::ForcedColors::kNone;
887 -diff --git a/content/child/webthemeengine_impl_default.h b/content/child/webthemeengine_impl_default.h
888 -index 73579db..1f08f67 100644
889 ---- a/content/child/webthemeengine_impl_default.h
890 -+++ b/content/child/webthemeengine_impl_default.h
891 -@@ -39,7 +39,7 @@
892 - int32_t vertical_arrow_bitmap_height,
893 - int32_t horizontal_arrow_bitmap_width);
894 - #endif
895 -- blink::ForcedColors ForcedColors() const override;
896 -+ blink::ForcedColors GetForcedColors() const override;
897 - void SetForcedColors(const blink::ForcedColors forced_colors) override;
898 - blink::PreferredColorScheme PreferredColorScheme() const override;
899 - void SetPreferredColorScheme(
900 -diff --git a/content/child/webthemeengine_impl_mac.cc b/content/child/webthemeengine_impl_mac.cc
901 -index 9cb279e..553eedb 100644
902 ---- a/content/child/webthemeengine_impl_mac.cc
903 -+++ b/content/child/webthemeengine_impl_mac.cc
904 -@@ -6,7 +6,7 @@
905 -
906 - namespace content {
907 -
908 --blink::ForcedColors WebThemeEngineMac::ForcedColors() const {
909 -+blink::ForcedColors WebThemeEngineMac::GetForcedColors() const {
910 - return forced_colors_;
911 - }
912 -
913 -diff --git a/content/child/webthemeengine_impl_mac.h b/content/child/webthemeengine_impl_mac.h
914 -index b3dafa1..c0b66c0 100644
915 ---- a/content/child/webthemeengine_impl_mac.h
916 -+++ b/content/child/webthemeengine_impl_mac.h
917 -@@ -13,7 +13,7 @@
918 - public:
919 - ~WebThemeEngineMac() override {}
920 -
921 -- blink::ForcedColors ForcedColors() const override;
922 -+ blink::ForcedColors GetForcedColors() const override;
923 - void SetForcedColors(const blink::ForcedColors forced_colors) override;
924 - blink::PreferredColorScheme PreferredColorScheme() const override;
925 - void SetPreferredColorScheme(
926 -diff --git a/third_party/blink/public/platform/web_theme_engine.h b/third_party/blink/public/platform/web_theme_engine.h
927 -index d642462..aa2da1b 100644
928 ---- a/third_party/blink/public/platform/web_theme_engine.h
929 -+++ b/third_party/blink/public/platform/web_theme_engine.h
930 -@@ -227,7 +227,7 @@
931 - return base::nullopt;
932 - }
933 -
934 -- virtual ForcedColors ForcedColors() const { return ForcedColors::kNone; }
935 -+ virtual ForcedColors GetForcedColors() const { return ForcedColors::kNone; }
936 - virtual void SetForcedColors(const blink::ForcedColors forced_colors) {}
937 - virtual blink::PreferredColorScheme PreferredColorScheme() const {
938 - return PreferredColorScheme::kNoPreference;
939 -diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/blink/renderer/core/css/media_values.cc
940 -index 045d793..f7c0484 100644
941 ---- a/third_party/blink/renderer/core/css/media_values.cc
942 -+++ b/third_party/blink/renderer/core/css/media_values.cc
943 -@@ -221,7 +221,7 @@
944 -
945 - ForcedColors MediaValues::CalculateForcedColors() {
946 - if (Platform::Current() && Platform::Current()->ThemeEngine())
947 -- return Platform::Current()->ThemeEngine()->ForcedColors();
948 -+ return Platform::Current()->ThemeEngine()->GetForcedColors();
949 - else
950 - return ForcedColors::kNone;
951 - }
952 -diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
953 -index 64b0d23..02cce1f 100644
954 ---- a/third_party/blink/renderer/core/dom/document.cc
955 -+++ b/third_party/blink/renderer/core/dom/document.cc
956 -@@ -8625,7 +8625,7 @@
957 - bool Document::InForcedColorsMode() const {
958 - return RuntimeEnabledFeatures::ForcedColorsEnabled() && Platform::Current() &&
959 - Platform::Current()->ThemeEngine() &&
960 -- Platform::Current()->ThemeEngine()->ForcedColors() !=
961 -+ Platform::Current()->ThemeEngine()->GetForcedColors() !=
962 - ForcedColors::kNone;
963 - }
964 -
965
966 diff --git a/www-client/chromium/files/chromium-79-gcc-permissive.patch b/www-client/chromium/files/chromium-79-gcc-permissive.patch
967 deleted file mode 100644
968 index c42d56985a6..00000000000
969 --- a/www-client/chromium/files/chromium-79-gcc-permissive.patch
970 +++ /dev/null
971 @@ -1,79 +0,0 @@
972 -From 528e9a3e1f25bd264549c4c7779748abfd16bb1c Mon Sep 17 00:00:00 2001
973 -From: Jan Wilken Dörrie <jdoerrie@××××××××.org>
974 -Date: Fri, 18 Oct 2019 11:45:24 +0000
975 -Subject: [PATCH] Reland "GCC: Fix base::internal::InvokeFuncImpl"
976 -
977 -This is a reland of 9293d5c86eec1c34fc00716645400b44a14e764e
978 -
979 -Original change's description:
980 -> GCC: Fix base::internal::InvokeFuncImpl
981 ->
982 -> GCC doesn't like that the Value data member has no out-of-line
983 -> definition. The problem is triggered specifically only when compiling
984 ->
985 -> components/services/leveldb/leveldb_database_impl.cc
986 ->
987 -> which has lambda functions returning locally-defined classes.
988 ->
989 -> The current code works as-is in C++17 mode which introduces the concept
990 -> of inline variables, but in C++14 we need either an explicit out-of-line
991 -> definition or a function member instead of a data member.
992 ->
993 -> Use std::integral_constant for defining the value.
994 ->
995 -> Bug: 819294
996 -> Change-Id: I5c68e14ce3fa9d8b4d8a2cb42d7f9b53938aabf3
997 -> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1862451
998 -> Reviewed-by: Jan Wilken Dörrie <jdoerrie@××××××××.org>
999 -> Reviewed-by: Daniel Cheng <dcheng@××××××××.org>
1000 -> Commit-Queue: Jüri Valdmann <juri.valdmann@××.io>
1001 -> Cr-Commit-Position: refs/heads/master@{#706384}
1002 -
1003 -Bug: 819294
1004 -Change-Id: I3d5a52ddc6815516e2239f9347c60de06bf765a2
1005 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1865212
1006 -Reviewed-by: Daniel Cheng <dcheng@××××××××.org>
1007 -Commit-Queue: Jan Wilken Dörrie <jdoerrie@××××××××.org>
1008 -Cr-Commit-Position: refs/heads/master@{#707329}
1009 ----
1010 -
1011 -diff --git a/base/bind.h b/base/bind.h
1012 -index 7a400af..1070ce6 100644
1013 ---- a/base/bind.h
1014 -+++ b/base/bind.h
1015 -@@ -187,18 +187,15 @@
1016 - // well-formed. Using `Invoker::Run` with a OnceCallback triggers a
1017 - // static_assert, which is why the ternary expression does not compile.
1018 - // TODO(crbug.com/752720): Remove this indirection once we have `if constexpr`.
1019 --template <bool is_once, typename Invoker>
1020 --struct InvokeFuncImpl;
1021 -+template <typename Invoker>
1022 -+constexpr auto GetInvokeFunc(std::true_type) {
1023 -+ return Invoker::RunOnce;
1024 -+}
1025 -
1026 - template <typename Invoker>
1027 --struct InvokeFuncImpl<true, Invoker> {
1028 -- static constexpr auto Value = &Invoker::RunOnce;
1029 --};
1030 --
1031 --template <typename Invoker>
1032 --struct InvokeFuncImpl<false, Invoker> {
1033 -- static constexpr auto Value = &Invoker::Run;
1034 --};
1035 -+constexpr auto GetInvokeFunc(std::false_type) {
1036 -+ return Invoker::Run;
1037 -+}
1038 -
1039 - template <template <typename> class CallbackT,
1040 - typename Functor,
1041 -@@ -229,7 +226,8 @@
1042 - // InvokeFuncStorage, so that we can ensure its type matches to
1043 - // PolymorphicInvoke, to which CallbackType will cast back.
1044 - using PolymorphicInvoke = typename CallbackType::PolymorphicInvoke;
1045 -- PolymorphicInvoke invoke_func = InvokeFuncImpl<kIsOnce, Invoker>::Value;
1046 -+ PolymorphicInvoke invoke_func =
1047 -+ GetInvokeFunc<Invoker>(std::integral_constant<bool, kIsOnce>());
1048 -
1049 - using InvokeFuncStorage = internal::BindStateBase::InvokeFuncStorage;
1050 - return CallbackType(BindState::Create(
1051
1052 diff --git a/www-client/chromium/files/chromium-79-icu-65.patch b/www-client/chromium/files/chromium-79-icu-65.patch
1053 deleted file mode 100644
1054 index e0732b6ace2..00000000000
1055 --- a/www-client/chromium/files/chromium-79-icu-65.patch
1056 +++ /dev/null
1057 @@ -1,13 +0,0 @@
1058 -diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
1059 -index 5a62770..1fae2aa 100644
1060 ---- a/third_party/blink/renderer/core/dom/document.cc
1061 -+++ b/third_party/blink/renderer/core/dom/document.cc
1062 -@@ -6192,7 +6192,7 @@ static ParseQualifiedNameResult ParseQualifiedNameInternal(
1063 -
1064 - for (unsigned i = 0; i < length;) {
1065 - UChar32 c;
1066 -- U16_NEXT(characters, i, length, c)
1067 -+ U16_NEXT(characters, i, length, c);
1068 - if (c == ':') {
1069 - if (saw_colon)
1070 - return ParseQualifiedNameResult(kQNMultipleColons);
1071
1072 diff --git a/www-client/chromium/files/chromium-79-include.patch b/www-client/chromium/files/chromium-79-include.patch
1073 deleted file mode 100644
1074 index 8f2fb56176a..00000000000
1075 --- a/www-client/chromium/files/chromium-79-include.patch
1076 +++ /dev/null
1077 @@ -1,131 +0,0 @@
1078 -From f7c177d35242311ea7a2cf49a0980c61664f27ba Mon Sep 17 00:00:00 2001
1079 -From: Jose Dapena Paz <jose.dapena@×××.com>
1080 -Date: Fri, 25 Oct 2019 15:07:09 +0000
1081 -Subject: [PATCH] IWYU: include algorithm to use std::lower_bound in ui/gfx/font.cc
1082 -
1083 -Fix GCC build because of missing include:
1084 -../../ui/gfx/font.cc: In function ‘gfx::Font::Weight gfx::FontWeightFromInt(int)’:
1085 -../../ui/gfx/font.cc:114:8: error: no matching function for call to ‘lower_bound(const gfx::Font::Weight*, const gfx::Font::Weight*, int&, gfx::FontWeightFromInt(int)::<lambda(const gfx::Font::Weight&, const int&)>)’
1086 - });
1087 - ^
1088 -In file included from /usr/include/c++/8/bits/char_traits.h:39,
1089 - from /usr/include/c++/8/string:40,
1090 - from ../../ui/gfx/font.h:8,
1091 - from ../../ui/gfx/font.cc:5:
1092 -/usr/include/c++/8/bits/stl_algobase.h:984:5: note: candidate: ‘template<class _ForwardIterator, class _Tp> _ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&)’
1093 - lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1094 - ^~~~~~~~~~~
1095 -/usr/include/c++/8/bits/stl_algobase.h:984:5: note: template argument deduction/substitution failed:
1096 -../../ui/gfx/font.cc:114:8: note: candidate expects 3 arguments, 4 provided
1097 - });
1098 - ^
1099 -
1100 -Bug: 819294
1101 -Change-Id: Ic59dcf3a06bdd54d1d426c08a61624873a0ff30c
1102 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879909
1103 -Commit-Queue: Alexei Svitkine <asvitkine@××××××××.org>
1104 -Reviewed-by: Alexei Svitkine <asvitkine@××××××××.org>
1105 -Cr-Commit-Position: refs/heads/master@{#709472}
1106 ----
1107 -
1108 -diff --git a/ui/gfx/font.cc b/ui/gfx/font.cc
1109 -index 21367fd7..92b159e 100644
1110 ---- a/ui/gfx/font.cc
1111 -+++ b/ui/gfx/font.cc
1112 -@@ -4,6 +4,8 @@
1113 -
1114 - #include "ui/gfx/font.h"
1115 -
1116 -+#include <algorithm>
1117 -+
1118 - #include "base/strings/utf_string_conversions.h"
1119 - #include "build/build_config.h"
1120 - #include "ui/gfx/platform_font.h"
1121 -
1122 -From 97eb905ba262382bc3583078761c68f4452aea71 Mon Sep 17 00:00:00 2001
1123 -From: Jose Dapena Paz <jose.dapena@×××.com>
1124 -Date: Fri, 25 Oct 2019 09:27:53 +0000
1125 -Subject: [PATCH] IWYU: launch_manager.h uses std::vector
1126 -
1127 -Add #include <vector> for using std::vector. This fixes GCC build.
1128 -
1129 -./../chrome/browser/apps/launch_service/launch_manager.h:46:15: error: ‘vector’ in namespace ‘std’ does not name a template type
1130 - static std::vector<base::FilePath> GetLaunchFilesFromCommandLine(
1131 - ^~~~~~
1132 -
1133 -Bug: 819294
1134 -Change-Id: I02ec3a2914a8fbe3aa0041017a0228f4b0ca1ec9
1135 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879289
1136 -Reviewed-by: Alexey Baskakov <loyso@××××××××.org>
1137 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
1138 -Cr-Commit-Position: refs/heads/master@{#709411}
1139 ----
1140 -
1141 -diff --git a/chrome/browser/apps/launch_service/launch_manager.h b/chrome/browser/apps/launch_service/launch_manager.h
1142 -index 00aeb9d..76570ea 100644
1143 ---- a/chrome/browser/apps/launch_service/launch_manager.h
1144 -+++ b/chrome/browser/apps/launch_service/launch_manager.h
1145 -@@ -6,6 +6,7 @@
1146 - #define CHROME_BROWSER_APPS_LAUNCH_SERVICE_LAUNCH_MANAGER_H_
1147 -
1148 - #include <string>
1149 -+#include <vector>
1150 -
1151 - #include "base/macros.h"
1152 -
1153 -From e7407ce7fa262e9fd1a19dd0957e5a950520ee3a Mon Sep 17 00:00:00 2001
1154 -From: Jose Dapena Paz <jose.dapena@×××.com>
1155 -Date: Fri, 25 Oct 2019 08:25:45 +0000
1156 -Subject: [PATCH] IWYU: include cstdint in register_context.h as it uses uintptr_t
1157 -
1158 -GCC build fix as build fails with this:
1159 -../../base/profiler/register_context.h:31:1: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
1160 - uintptr_t& AsUintPtr(T* value) {
1161 - ^~~~~~~~~
1162 - intptr_t
1163 -../../base/profiler/register_context.h:110:3: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
1164 - uintptr_t stack_pointer;
1165 - ^~~~~~~~~
1166 - intptr_t
1167 -../../base/profiler/register_context.h:111:3: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
1168 - uintptr_t frame_pointer;
1169 - ^~~~~~~~~
1170 - intptr_t
1171 -../../base/profiler/register_context.h:112:3: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
1172 - uintptr_t instruction_pointer;
1173 - ^~~~~~~~~
1174 - intptr_t
1175 -../../base/profiler/register_context.h:115:8: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
1176 - inline uintptr_t& RegisterContextStackPointer(RegisterContext* context) {
1177 - ^~~~~~~~~
1178 - intptr_t
1179 -../../base/profiler/register_context.h:119:8: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
1180 - inline uintptr_t& RegisterContextFramePointer(RegisterContext* context) {
1181 - ^~~~~~~~~
1182 - intptr_t
1183 -../../base/profiler/register_context.h:123:8: error: ‘uintptr_t’ does not name a type; did you mean ‘intptr_t’?
1184 - inline uintptr_t& RegisterContextInstructionPointer(RegisterContext* context) {
1185 - ^~~~~~~~~
1186 - intptr_t
1187 -
1188 -
1189 -Bug: 819294
1190 -Change-Id: I49567b00a6f021686c52053a22fb9c502c84f1bc
1191 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879908
1192 -Reviewed-by: Mike Wittman <wittman@××××××××.org>
1193 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
1194 -Cr-Commit-Position: refs/heads/master@{#709398}
1195 ----
1196 -
1197 -diff --git a/base/profiler/register_context.h b/base/profiler/register_context.h
1198 -index 46c4250..7dd86ff 100644
1199 ---- a/base/profiler/register_context.h
1200 -+++ b/base/profiler/register_context.h
1201 -@@ -9,6 +9,7 @@
1202 - #ifndef BASE_PROFILER_REGISTER_CONTEXT_H_
1203 - #define BASE_PROFILER_REGISTER_CONTEXT_H_
1204 -
1205 -+#include <cstdint>
1206 - #include <type_traits>
1207 -
1208 - #include "build/build_config.h"
1209
1210 diff --git a/www-client/chromium/files/chromium-79-system-hb.patch b/www-client/chromium/files/chromium-79-system-hb.patch
1211 deleted file mode 100644
1212 index 83e0621777f..00000000000
1213 --- a/www-client/chromium/files/chromium-79-system-hb.patch
1214 +++ /dev/null
1215 @@ -1,19 +0,0 @@
1216 -diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc
1217 -index a218d63..6a5bdae 100644
1218 ---- a/components/paint_preview/common/subset_font.cc
1219 -+++ b/components/paint_preview/common/subset_font.cc
1220 -@@ -10,11 +10,12 @@
1221 - #include "base/bind.h"
1222 - #include "base/callback.h"
1223 - #include "base/macros.h"
1224 --#include "third_party/harfbuzz-ng/src/src/hb-subset.h"
1225 --#include "third_party/harfbuzz-ng/src/src/hb.h"
1226 - #include "third_party/skia/include/core/SkStream.h"
1227 - #include "third_party/skia/include/core/SkTypeface.h"
1228 -
1229 -+#include <hb-subset.h>
1230 -+#include <hb.h>
1231 -+
1232 - namespace paint_preview {
1233 -
1234 - namespace {