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: Sun, 27 Oct 2019 14:40:27
Message-Id: 1572187176.f39b48f3c96f1881eea8ba2bd5b3c0e19e091c4a.floppym@gentoo
1 commit: f39b48f3c96f1881eea8ba2bd5b3c0e19e091c4a
2 Author: Stephan Hartmann <stephan.hartmann <AT> tu-dresden <DOT> de>
3 AuthorDate: Sun Oct 27 12:29:32 2019 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Sun Oct 27 14:39:36 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f39b48f3
7
8 www-client/chromium: security cleanup
9
10 Bug: https://bugs.gentoo.org/698398
11 Closes: https://github.com/gentoo/gentoo/pull/13465
12 Package-Manager: Portage-2.3.76, Repoman-2.3.16
13 Signed-off-by: Stephan Hartmann <stha09 <AT> googlemail.com>
14 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
15
16 www-client/chromium/Manifest | 1 -
17 www-client/chromium/chromium-77.0.3865.120.ebuild | 733 ---------------------
18 .../chromium/files/chromium-77-blink-include.patch | 28 -
19 .../chromium/files/chromium-77-fix-gn-gen.patch | 11 -
20 .../chromium/files/chromium-77-gcc-abstract.patch | 61 --
21 .../chromium/files/chromium-77-gcc-alignas.patch | 72 --
22 .../chromium/files/chromium-77-gcc-include.patch | 26 -
23 .../chromium/files/chromium-77-no-cups.patch | 42 --
24 .../chromium/files/chromium-77-std-string.patch | 130 ----
25 .../chromium/files/chromium-77-system-hb.patch | 13 -
26 .../chromium/files/chromium-unbundle-zlib.patch | 25 -
27 11 files changed, 1142 deletions(-)
28
29 diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
30 index 1e46a565387..f2606637827 100644
31 --- a/www-client/chromium/Manifest
32 +++ b/www-client/chromium/Manifest
33 @@ -1,4 +1,3 @@
34 -DIST chromium-77.0.3865.120.tar.xz 729636120 BLAKE2B 7ff2467b5dd421c3962dd86503975fe042ced4a44e9d3705106ee9c9a7ceaa94c38fea2aefe4913bfe4af40775cb37b175d9a6c70b67d807c227f7e363ba5783 SHA512 4c72c9e9cd9a5d7f89e33c52d117018418ce0f5d23a57341b26ce47c8f90fa55f52a0c976b6959026dc273d5b37aa57306253a9b533172cd133a815edc7bccb4
35 DIST chromium-78-revert-noexcept-r1.patch.gz 12094 BLAKE2B 1fd0c939af773ed398c9ab14fa80b042b4237cabdbcb06425e4d1c72200ec49c3c1383cfc95013cce4df411b0a2397b79030d41a0379ae80a0c60bae1fbb5ffa SHA512 dcb62b82b34d5d6982762cacfe3ab7d3538d908b3befe7666f5d70d98ba4f979b5bf056e5c5343ed76aa744a643318fc5a75ddedfcb1b7de3e7c28eb2587439f
36 DIST chromium-78.0.3904.70.tar.xz 742787108 BLAKE2B 623a0359f461672d8d6c97b4703f5b50c6ac423350ba96b7f37582be38d9cc66674e441b506405bc5f136df19df886036ef5abae4b8c2e4e953ec296e2a25bb4 SHA512 95d926ea92a0e744284a4c5fca619e3a067dd0fdfaa7c05b5a069d2a8d1159bf849335e21e5803bd28175c1994bd4ff15337ad0a3063445fab74eef113275545
37 DIST chromium-79.0.3941.4.tar.xz 772100680 BLAKE2B 2a510529ae9a58c2c831bd293eb1a9ea276422da6f49741be208bcf8c17eafa0e47c0adf8e3f1148f3da821188315e9d6c7f2de1c44dd844f5d481be17b35ef7 SHA512 5847f7c647737ea96c27f859e5b763100c4d0ecff83eb33d81d144e3be16a5a709290a66fa6754b8a38be68c850dee4be0abc2419f5a50e0cf22bc37a0563c80
38
39 diff --git a/www-client/chromium/chromium-77.0.3865.120.ebuild b/www-client/chromium/chromium-77.0.3865.120.ebuild
40 deleted file mode 100644
41 index 0dbd8e2289d..00000000000
42 --- a/www-client/chromium/chromium-77.0.3865.120.ebuild
43 +++ /dev/null
44 @@ -1,733 +0,0 @@
45 -# Copyright 2009-2019 Gentoo Authors
46 -# Distributed under the terms of the GNU General Public License v2
47 -
48 -EAPI=7
49 -PYTHON_COMPAT=( python2_7 )
50 -
51 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
52 - 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
53 - sv sw ta te th tr uk vi zh-CN zh-TW"
54 -
55 -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
56 -
57 -DESCRIPTION="Open-source version of Google Chrome web browser"
58 -HOMEPAGE="http://chromium.org/"
59 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz"
60 -
61 -LICENSE="BSD"
62 -SLOT="0"
63 -KEYWORDS="amd64 ~arm64 ~x86"
64 -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts jumbo-build kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
65 -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
66 -REQUIRED_USE="component-build? ( !suid )"
67 -
68 -COMMON_DEPEND="
69 - >=app-accessibility/at-spi2-atk-2.26:2
70 - app-arch/bzip2:=
71 - cups? ( >=net-print/cups-1.3.11:= )
72 - >=dev-libs/atk-2.26
73 - dev-libs/expat:=
74 - dev-libs/glib:2
75 - system-icu? ( >=dev-libs/icu-64:= )
76 - >=dev-libs/libxml2-2.9.4-r3:=[icu]
77 - dev-libs/libxslt:=
78 - dev-libs/nspr:=
79 - >=dev-libs/nss-3.26:=
80 - >=dev-libs/re2-0.2016.11.01:=
81 - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
82 - >=media-libs/alsa-lib-1.0.19:=
83 - media-libs/fontconfig:=
84 - media-libs/freetype:=
85 - >=media-libs/harfbuzz-2.4.0:0=[icu(-)]
86 - media-libs/libjpeg-turbo:=
87 - media-libs/libpng:=
88 - system-libvpx? ( media-libs/libvpx:=[postproc,svc] )
89 - >=media-libs/openh264-1.6.0:=
90 - pulseaudio? ( media-sound/pulseaudio:= )
91 - system-ffmpeg? (
92 - >=media-video/ffmpeg-4:=
93 - || (
94 - media-video/ffmpeg[-samba]
95 - >=net-fs/samba-4.5.10-r1[-debug(-)]
96 - )
97 - !=net-fs/samba-4.5.12-r0
98 - media-libs/opus:=
99 - )
100 - sys-apps/dbus:=
101 - sys-apps/pciutils:=
102 - virtual/udev
103 - x11-libs/cairo:=
104 - x11-libs/gdk-pixbuf:2
105 - x11-libs/gtk+:3[X]
106 - x11-libs/libX11:=
107 - x11-libs/libXcomposite:=
108 - x11-libs/libXcursor:=
109 - x11-libs/libXdamage:=
110 - x11-libs/libXext:=
111 - x11-libs/libXfixes:=
112 - >=x11-libs/libXi-1.6.0:=
113 - x11-libs/libXrandr:=
114 - x11-libs/libXrender:=
115 - x11-libs/libXScrnSaver:=
116 - x11-libs/libXtst:=
117 - x11-libs/pango:=
118 - app-arch/snappy:=
119 - media-libs/flac:=
120 - >=media-libs/libwebp-0.4.0:=
121 - sys-libs/zlib:=[minizip]
122 - kerberos? ( virtual/krb5 )
123 -"
124 -# For nvidia-drivers blocker, see bug #413637 .
125 -RDEPEND="${COMMON_DEPEND}
126 - !<www-plugins/chrome-binary-plugins-57
127 - x11-misc/xdg-utils
128 - virtual/opengl
129 - virtual/ttf-fonts
130 - selinux? ( sec-policy/selinux-chromium )
131 - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
132 -"
133 -DEPEND="${COMMON_DEPEND}
134 -"
135 -# dev-vcs/git - https://bugs.gentoo.org/593476
136 -BDEPEND="
137 - ${PYTHON_DEPS}
138 - >=app-arch/gzip-1.7
139 - !arm? (
140 - dev-lang/yasm
141 - )
142 - dev-lang/perl
143 - dev-util/gn
144 - dev-vcs/git
145 - >=dev-util/gperf-3.0.3
146 - >=dev-util/ninja-1.7.2
147 - >=net-libs/nodejs-7.6.0[inspector]
148 - sys-apps/hwids[usb(+)]
149 - >=sys-devel/bison-2.4.3
150 - sys-devel/flex
151 - closure-compile? ( virtual/jre )
152 - virtual/pkgconfig
153 -"
154 -
155 -: ${CHROMIUM_FORCE_CLANG=no}
156 -
157 -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
158 - BDEPEND+=" >=sys-devel/clang-7"
159 -fi
160 -
161 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
162 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
163 -fi
164 -
165 -DISABLE_AUTOFORMATTING="yes"
166 -DOC_CONTENTS="
167 -Some web pages may require additional fonts to display properly.
168 -Try installing some of the following packages if some characters
169 -are not displayed properly:
170 -- media-fonts/arphicfonts
171 -- media-fonts/droid
172 -- media-fonts/ipamonafont
173 -- media-fonts/noto
174 -- media-fonts/ja-ipafonts
175 -- media-fonts/takao-fonts
176 -- media-fonts/wqy-microhei
177 -- media-fonts/wqy-zenhei
178 -
179 -To fix broken icons on the Downloads page, you should install an icon
180 -theme that covers the appropriate MIME types, and configure this as your
181 -GTK+ icon theme.
182 -
183 -For native file dialogs in KDE, install kde-apps/kdialog.
184 -"
185 -
186 -PATCHES=(
187 - "${FILESDIR}/chromium-compiler-r10.patch"
188 - "${FILESDIR}/chromium-widevine-r4.patch"
189 - "${FILESDIR}/chromium-fix-char_traits.patch"
190 - "${FILESDIR}/chromium-unbundle-zlib.patch"
191 - "${FILESDIR}/chromium-77-pulseaudio-13.patch"
192 - "${FILESDIR}/chromium-77-fix-gn-gen.patch"
193 - "${FILESDIR}/chromium-77-system-icu.patch"
194 - "${FILESDIR}/chromium-77-system-hb.patch"
195 - "${FILESDIR}/chromium-77-clang.patch"
196 - "${FILESDIR}/chromium-77-blink-include.patch"
197 - "${FILESDIR}/chromium-77-std-string.patch"
198 - "${FILESDIR}/chromium-77-no-cups.patch"
199 - "${FILESDIR}/chromium-77-gcc-abstract.patch"
200 - "${FILESDIR}/chromium-77-gcc-include.patch"
201 - "${FILESDIR}/chromium-77-gcc-alignas.patch"
202 -)
203 -
204 -pre_build_checks() {
205 - if [[ ${MERGE_TYPE} != binary ]]; then
206 - local -x CPP="$(tc-getCXX) -E"
207 - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then
208 - die "At least gcc 8.0 is required"
209 - fi
210 - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976.
211 - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then
212 - die "Component build with tcmalloc requires FEATURES=-usersandbox."
213 - fi
214 - fi
215 -
216 - # Check build requirements, bug #541816 and bug #471810 .
217 - CHECKREQS_MEMORY="3G"
218 - CHECKREQS_DISK_BUILD="7G"
219 - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
220 - CHECKREQS_DISK_BUILD="25G"
221 - if ! use component-build; then
222 - CHECKREQS_MEMORY="16G"
223 - fi
224 - fi
225 - check-reqs_pkg_setup
226 -}
227 -
228 -pkg_pretend() {
229 - pre_build_checks
230 -}
231 -
232 -pkg_setup() {
233 - pre_build_checks
234 -
235 - chromium_suid_sandbox_check_kernel_config
236 -}
237 -
238 -src_prepare() {
239 - # Calling this here supports resumption via FEATURES=keepwork
240 - python_setup
241 -
242 - default
243 -
244 - mkdir -p third_party/node/linux/node-linux-x64/bin || die
245 - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
246 -
247 - local keeplibs=(
248 - base/third_party/cityhash
249 - base/third_party/dmg_fp
250 - base/third_party/dynamic_annotations
251 - base/third_party/icu
252 - base/third_party/nspr
253 - base/third_party/superfasthash
254 - base/third_party/symbolize
255 - base/third_party/valgrind
256 - base/third_party/xdg_mime
257 - base/third_party/xdg_user_dirs
258 - buildtools/third_party/libc++
259 - buildtools/third_party/libc++abi
260 - chrome/third_party/mozilla_security_manager
261 - courgette/third_party
262 - net/third_party/mozilla_security_manager
263 - net/third_party/nss
264 - net/third_party/quic
265 - net/third_party/uri_template
266 - third_party/abseil-cpp
267 - third_party/angle
268 - third_party/angle/src/common/third_party/base
269 - third_party/angle/src/common/third_party/smhasher
270 - third_party/angle/src/common/third_party/xxhash
271 - third_party/angle/src/third_party/compiler
272 - third_party/angle/src/third_party/libXNVCtrl
273 - third_party/angle/src/third_party/trace_event
274 - third_party/angle/third_party/glslang
275 - third_party/angle/third_party/spirv-headers
276 - third_party/angle/third_party/spirv-tools
277 - third_party/angle/third_party/vulkan-headers
278 - third_party/angle/third_party/vulkan-loader
279 - third_party/angle/third_party/vulkan-tools
280 - third_party/angle/third_party/vulkan-validation-layers
281 - third_party/apple_apsl
282 - third_party/axe-core
283 - third_party/blink
284 - third_party/boringssl
285 - third_party/boringssl/src/third_party/fiat
286 - third_party/boringssl/src/third_party/sike
287 - third_party/boringssl/linux-aarch64/crypto/third_party/sike
288 - third_party/boringssl/linux-x86_64/crypto/third_party/sike
289 - third_party/breakpad
290 - third_party/breakpad/breakpad/src/third_party/curl
291 - third_party/brotli
292 - third_party/cacheinvalidation
293 - third_party/catapult
294 - third_party/catapult/common/py_vulcanize/third_party/rcssmin
295 - third_party/catapult/common/py_vulcanize/third_party/rjsmin
296 - third_party/catapult/third_party/beautifulsoup4
297 - third_party/catapult/third_party/html5lib-python
298 - third_party/catapult/third_party/polymer
299 - third_party/catapult/third_party/six
300 - third_party/catapult/tracing/third_party/d3
301 - third_party/catapult/tracing/third_party/gl-matrix
302 - third_party/catapult/tracing/third_party/jszip
303 - third_party/catapult/tracing/third_party/mannwhitneyu
304 - third_party/catapult/tracing/third_party/oboe
305 - third_party/catapult/tracing/third_party/pako
306 - third_party/ced
307 - third_party/cld_3
308 - third_party/closure_compiler
309 - third_party/crashpad
310 - third_party/crashpad/crashpad/third_party/lss
311 - third_party/crashpad/crashpad/third_party/zlib
312 - third_party/crc32c
313 - third_party/cros_system_api
314 - third_party/dav1d
315 - third_party/dawn
316 - third_party/devscripts
317 - third_party/dom_distiller_js
318 - third_party/emoji-segmenter
319 - third_party/flatbuffers
320 - third_party/flot
321 - third_party/freetype
322 - third_party/glslang
323 - third_party/google_input_tools
324 - third_party/google_input_tools/third_party/closure_library
325 - third_party/google_input_tools/third_party/closure_library/third_party/closure
326 - third_party/googletest
327 - third_party/hunspell
328 - third_party/iccjpeg
329 - third_party/inspector_protocol
330 - third_party/jinja2
331 - third_party/jsoncpp
332 - third_party/jstemplate
333 - third_party/khronos
334 - third_party/leveldatabase
335 - third_party/libXNVCtrl
336 - third_party/libaddressinput
337 - third_party/libaom
338 - third_party/libaom/source/libaom/third_party/vector
339 - third_party/libaom/source/libaom/third_party/x86inc
340 - third_party/libjingle
341 - third_party/libphonenumber
342 - third_party/libsecret
343 - third_party/libsrtp
344 - third_party/libsync
345 - third_party/libudev
346 - third_party/libwebm
347 - third_party/libxml/chromium
348 - third_party/libyuv
349 - third_party/llvm
350 - third_party/lss
351 - third_party/lzma_sdk
352 - third_party/markupsafe
353 - third_party/mesa
354 - third_party/metrics_proto
355 - third_party/modp_b64
356 - third_party/nasm
357 - third_party/node
358 - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
359 - third_party/one_euro_filter
360 - third_party/openscreen
361 - third_party/openscreen/src/third_party/tinycbor/src/src
362 - third_party/ots
363 - third_party/pdfium
364 - third_party/pdfium/third_party/agg23
365 - third_party/pdfium/third_party/base
366 - third_party/pdfium/third_party/bigint
367 - third_party/pdfium/third_party/freetype
368 - third_party/pdfium/third_party/lcms
369 - third_party/pdfium/third_party/libopenjpeg20
370 - third_party/pdfium/third_party/libpng16
371 - third_party/pdfium/third_party/libtiff
372 - third_party/pdfium/third_party/skia_shared
373 - third_party/perfetto
374 - third_party/pffft
375 - third_party/ply
376 - third_party/polymer
377 - third_party/protobuf
378 - third_party/protobuf/third_party/six
379 - third_party/pyjson5
380 - third_party/qcms
381 - third_party/rnnoise
382 - third_party/s2cellid
383 - third_party/sfntly
384 - third_party/simplejson
385 - third_party/skia
386 - third_party/skia/include/third_party/skcms
387 - third_party/skia/include/third_party/vulkan
388 - third_party/skia/third_party/gif
389 - third_party/skia/third_party/skcms
390 - third_party/skia/third_party/vulkan
391 - third_party/smhasher
392 - third_party/spirv-headers
393 - third_party/SPIRV-Tools
394 - third_party/sqlite
395 - third_party/swiftshader
396 - third_party/swiftshader/third_party/llvm-7.0
397 - third_party/swiftshader/third_party/llvm-subzero
398 - third_party/swiftshader/third_party/subzero
399 - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
400 - third_party/unrar
401 - third_party/usrsctp
402 - third_party/vulkan
403 - third_party/web-animations-js
404 - third_party/webdriver
405 - third_party/webrtc
406 - third_party/webrtc/common_audio/third_party/fft4g
407 - third_party/webrtc/common_audio/third_party/spl_sqrt_floor
408 - third_party/webrtc/modules/third_party/fft
409 - third_party/webrtc/modules/third_party/g711
410 - third_party/webrtc/modules/third_party/g722
411 - third_party/webrtc/rtc_base/third_party/base64
412 - third_party/webrtc/rtc_base/third_party/sigslot
413 - third_party/widevine
414 - third_party/woff2
415 - third_party/zlib/google
416 - url/third_party/mozilla
417 - v8/src/third_party/siphash
418 - v8/src/third_party/valgrind
419 - v8/src/third_party/utf8-decoder
420 - v8/third_party/inspector_protocol
421 - v8/third_party/v8
422 -
423 - # gyp -> gn leftovers
424 - base/third_party/libevent
425 - third_party/adobe
426 - third_party/speech-dispatcher
427 - third_party/usb_ids
428 - third_party/xdg-utils
429 - third_party/yasm/run_yasm.py
430 - )
431 - if ! use system-ffmpeg; then
432 - keeplibs+=( third_party/ffmpeg third_party/opus )
433 - fi
434 - if ! use system-icu; then
435 - keeplibs+=( third_party/icu )
436 - fi
437 - if ! use system-libvpx; then
438 - keeplibs+=( third_party/libvpx )
439 - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
440 - fi
441 - if use tcmalloc; then
442 - keeplibs+=( third_party/tcmalloc )
443 - fi
444 -
445 - # Remove most bundled libraries. Some are still needed.
446 - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
447 -}
448 -
449 -src_configure() {
450 - # Calling this here supports resumption via FEATURES=keepwork
451 - python_setup
452 -
453 - local myconf_gn=""
454 -
455 - # Make sure the build system will use the right tools, bug #340795.
456 - tc-export AR CC CXX NM
457 -
458 - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
459 - # Force clang since gcc is pretty broken at the moment.
460 - CC=${CHOST}-clang
461 - CXX=${CHOST}-clang++
462 - strip-unsupported-flags
463 - fi
464 -
465 - if tc-is-clang; then
466 - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
467 - else
468 - myconf_gn+=" is_clang=false"
469 - fi
470 -
471 - # Define a custom toolchain for GN
472 - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
473 -
474 - if tc-is-cross-compiler; then
475 - tc-export BUILD_{AR,CC,CXX,NM}
476 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
477 - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
478 - else
479 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
480 - fi
481 -
482 - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
483 - myconf_gn+=" is_debug=false"
484 -
485 - # Component build isn't generally intended for use by end users. It's mostly useful
486 - # for development and debugging.
487 - myconf_gn+=" is_component_build=$(usex component-build true false)"
488 -
489 - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md
490 - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)"
491 -
492 - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
493 -
494 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
495 - myconf_gn+=" enable_nacl=false"
496 -
497 - # Use system-provided libraries.
498 - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
499 - # TODO: use_system_hunspell (upstream changes needed).
500 - # TODO: use_system_libsrtp (bug #459932).
501 - # TODO: use_system_protobuf (bug #525560).
502 - # TODO: use_system_ssl (http://crbug.com/58087).
503 - # TODO: use_system_sqlite (http://crbug.com/22208).
504 -
505 - # libevent: https://bugs.gentoo.org/593458
506 - local gn_system_libraries=(
507 - flac
508 - fontconfig
509 - freetype
510 - # Need harfbuzz_from_pkgconfig target
511 - #harfbuzz-ng
512 - libdrm
513 - libjpeg
514 - libpng
515 - libwebp
516 - libxml
517 - libxslt
518 - openh264
519 - re2
520 - snappy
521 - yasm
522 - zlib
523 - )
524 - if use system-ffmpeg; then
525 - gn_system_libraries+=( ffmpeg opus )
526 - fi
527 - if use system-icu; then
528 - gn_system_libraries+=( icu )
529 - fi
530 - if use system-libvpx; then
531 - gn_system_libraries+=( libvpx )
532 - fi
533 - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
534 -
535 - # See dependency logic in third_party/BUILD.gn
536 - myconf_gn+=" use_system_harfbuzz=true"
537 -
538 - # Optional dependencies.
539 - myconf_gn+=" closure_compile=$(usex closure-compile true false)"
540 - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
541 - myconf_gn+=" enable_widevine=$(usex widevine true false)"
542 - myconf_gn+=" use_cups=$(usex cups true false)"
543 - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
544 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
545 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
546 -
547 - # TODO: link_pulseaudio=true for GN.
548 -
549 - myconf_gn+=" fieldtrial_testing_like_official_build=true"
550 -
551 - # Never use bundled gold binary. Disable gold linker flags for now.
552 - # Do not use bundled clang.
553 - # Trying to use gold results in linker crash.
554 - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false"
555 -
556 - # Disable forced lld, bug 641556
557 - myconf_gn+=" use_lld=false"
558 -
559 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
560 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
561 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
562 -
563 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
564 - # Note: these are for Gentoo use ONLY. For your own distribution,
565 - # please get your own set of keys. Feel free to contact chromium@g.o
566 - # for more info.
567 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
568 - local google_default_client_id="329227923882.apps.googleusercontent.com"
569 - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
570 - myconf_gn+=" google_api_key=\"${google_api_key}\""
571 - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
572 - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
573 -
574 - local myarch="$(tc-arch)"
575 -
576 - # Avoid CFLAGS problems, bug #352457, bug #390147.
577 - if ! use custom-cflags; then
578 - replace-flags "-Os" "-O2"
579 - strip-flags
580 -
581 - # Prevent linker from running out of address space, bug #471810 .
582 - if use x86; then
583 - filter-flags "-g*"
584 - fi
585 -
586 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
587 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
588 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2
589 - fi
590 - fi
591 -
592 - if [[ $myarch = amd64 ]] ; then
593 - myconf_gn+=" target_cpu=\"x64\""
594 - ffmpeg_target_arch=x64
595 - elif [[ $myarch = x86 ]] ; then
596 - myconf_gn+=" target_cpu=\"x86\""
597 - ffmpeg_target_arch=ia32
598 -
599 - # This is normally defined by compiler_cpu_abi in
600 - # build/config/compiler/BUILD.gn, but we patch that part out.
601 - append-flags -msse2 -mfpmath=sse -mmmx
602 - elif [[ $myarch = arm64 ]] ; then
603 - myconf_gn+=" target_cpu=\"arm64\""
604 - ffmpeg_target_arch=arm64
605 - elif [[ $myarch = arm ]] ; then
606 - myconf_gn+=" target_cpu=\"arm\""
607 - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
608 - else
609 - die "Failed to determine target arch, got '$myarch'."
610 - fi
611 -
612 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
613 - # Depending on GCC version the warnings are different and we don't want
614 - # the build to fail because of that.
615 - myconf_gn+=" treat_warnings_as_errors=false"
616 -
617 - # Disable fatal linker warnings, bug 506268.
618 - myconf_gn+=" fatal_linker_warnings=false"
619 -
620 - # Bug 491582.
621 - export TMPDIR="${WORKDIR}/temp"
622 - mkdir -p -m 755 "${TMPDIR}" || die
623 -
624 - # https://bugs.gentoo.org/654216
625 - addpredict /dev/dri/ #nowarn
626 -
627 - #if ! use system-ffmpeg; then
628 - if false; then
629 - local build_ffmpeg_args=""
630 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
631 - build_ffmpeg_args+=" --disable-asm"
632 - fi
633 -
634 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
635 - einfo "Configuring bundled ffmpeg..."
636 - pushd third_party/ffmpeg > /dev/null || die
637 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
638 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
639 - chromium/scripts/copy_config.sh || die
640 - chromium/scripts/generate_gn.py || die
641 - popd > /dev/null || die
642 - fi
643 -
644 - einfo "Configuring Chromium..."
645 - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
646 - echo "$@"
647 - "$@" || die
648 -}
649 -
650 -src_compile() {
651 - # Final link uses lots of file descriptors.
652 - ulimit -n 2048
653 -
654 - # Calling this here supports resumption via FEATURES=keepwork
655 - python_setup
656 -
657 - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
658 -
659 - # Build mksnapshot and pax-mark it.
660 - local x
661 - for x in mksnapshot v8_context_snapshot_generator; do
662 - if tc-is-cross-compiler; then
663 - eninja -C out/Release "host/${x}"
664 - pax-mark m "out/Release/host/${x}"
665 - else
666 - eninja -C out/Release "${x}"
667 - pax-mark m "out/Release/${x}"
668 - fi
669 - done
670 -
671 - # Even though ninja autodetects number of CPUs, we respect
672 - # user's options, for debugging with -j 1 or any other reason.
673 - eninja -C out/Release chrome chromedriver
674 - use suid && eninja -C out/Release chrome_sandbox
675 -
676 - pax-mark m out/Release/chrome
677 -
678 - # Build manpage; bug #684550
679 - sed -e 's|@@PACKAGE@@|chromium-browser|g;
680 - s|@@MENUNAME@@|Chromium|g;' \
681 - chrome/app/resources/manpage.1.in > \
682 - out/Release/chromium-browser.1 || die
683 -}
684 -
685 -src_install() {
686 - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
687 - exeinto "${CHROMIUM_HOME}"
688 - doexe out/Release/chrome
689 -
690 - if use suid; then
691 - newexe out/Release/chrome_sandbox chrome-sandbox
692 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
693 - fi
694 -
695 - doexe out/Release/chromedriver
696 -
697 - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
698 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
699 - doexe chromium-launcher.sh
700 -
701 - # It is important that we name the target "chromium-browser",
702 - # xdg-utils expect it; bug #355517.
703 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
704 - # keep the old symlink around for consistency
705 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
706 -
707 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
708 -
709 - # Allow users to override command-line options, bug #357629.
710 - insinto /etc/chromium
711 - newins "${FILESDIR}/chromium.default" "default"
712 -
713 - pushd out/Release/locales > /dev/null || die
714 - chromium_remove_language_paks
715 - popd
716 -
717 - insinto "${CHROMIUM_HOME}"
718 - doins out/Release/*.bin
719 - doins out/Release/*.pak
720 - doins out/Release/*.so
721 -
722 - if ! use system-icu; then
723 - doins out/Release/icudtl.dat
724 - fi
725 -
726 - doins -r out/Release/locales
727 - doins -r out/Release/resources
728 -
729 - if [[ -d out/Release/swiftshader ]]; then
730 - insinto "${CHROMIUM_HOME}/swiftshader"
731 - doins out/Release/swiftshader/*.so
732 - fi
733 -
734 - # Install icons and desktop entry.
735 - local branding size
736 - for size in 16 24 32 48 64 128 256 ; do
737 - case ${size} in
738 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
739 - *) branding="chrome/app/theme/chromium" ;;
740 - esac
741 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
742 - chromium-browser.png
743 - done
744 -
745 - local mime_types="text/html;text/xml;application/xhtml+xml;"
746 - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
747 - mime_types+="x-scheme-handler/ftp;" # bug #412185
748 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
749 - make_desktop_entry \
750 - chromium-browser \
751 - "Chromium" \
752 - chromium-browser \
753 - "Network;WebBrowser" \
754 - "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
755 - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
756 -
757 - # Install GNOME default application entry (bug #303100).
758 - insinto /usr/share/gnome-control-center/default-apps
759 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
760 -
761 - # Install manpage; bug #684550
762 - doman out/Release/chromium-browser.1
763 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1
764 -
765 - readme.gentoo_create_doc
766 -}
767 -
768 -pkg_postrm() {
769 - xdg_icon_cache_update
770 - xdg_desktop_database_update
771 -}
772 -
773 -pkg_postinst() {
774 - xdg_icon_cache_update
775 - xdg_desktop_database_update
776 - readme.gentoo_print_elog
777 -}
778
779 diff --git a/www-client/chromium/files/chromium-77-blink-include.patch b/www-client/chromium/files/chromium-77-blink-include.patch
780 deleted file mode 100644
781 index 3ac1770fb8e..00000000000
782 --- a/www-client/chromium/files/chromium-77-blink-include.patch
783 +++ /dev/null
784 @@ -1,28 +0,0 @@
785 -From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001
786 -From: Dave Tapuska <dtapuska@××××××××.org>
787 -Date: Mon, 12 Aug 2019 22:30:13 +0000
788 -Subject: [PATCH] Fix build failure due to missing include for std::numeric_limits usage.
789 -
790 -Some configurations fail to build, limits should have been included.
791 -
792 -BUG=992832
793 -
794 -Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c
795 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981
796 -Commit-Queue: Dave Tapuska <dtapuska@××××××××.org>
797 -Reviewed-by: Mostyn Bramley-Moore <mostynb@××××.com>
798 -Cr-Commit-Position: refs/heads/master@{#686214}
799 ----
800 -
801 -diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc
802 -index 384566a..68d83e1 100644
803 ---- a/third_party/blink/renderer/platform/exported/web_time_range.cc
804 -+++ b/third_party/blink/renderer/platform/exported/web_time_range.cc
805 -@@ -31,6 +31,7 @@
806 - #include "third_party/blink/public/platform/web_time_range.h"
807 -
808 - #include <cmath>
809 -+#include <limits>
810 -
811 - namespace blink {
812 -
813
814 diff --git a/www-client/chromium/files/chromium-77-fix-gn-gen.patch b/www-client/chromium/files/chromium-77-fix-gn-gen.patch
815 deleted file mode 100644
816 index 2c5f128cbc9..00000000000
817 --- a/www-client/chromium/files/chromium-77-fix-gn-gen.patch
818 +++ /dev/null
819 @@ -1,11 +0,0 @@
820 ---- a/third_party/blink/tools/BUILD.gn
821 -+++ b/third_party/blink/tools/BUILD.gn
822 -@@ -11,7 +11,7 @@ action("build_wpt_metadata") {
823 - rebase_path("$root_out_dir/wpt_expectations_metadata"),
824 - ]
825 - outputs = [
826 -- "$root_out_dir/wpt_expectations_metadata/",
827 -+ "$root_out_dir/wpt_expectations_metadata",
828 - ]
829 - data = [
830 - # Include the blinkpy tools to access expectations data
831
832 diff --git a/www-client/chromium/files/chromium-77-gcc-abstract.patch b/www-client/chromium/files/chromium-77-gcc-abstract.patch
833 deleted file mode 100644
834 index 6d77299ee6c..00000000000
835 --- a/www-client/chromium/files/chromium-77-gcc-abstract.patch
836 +++ /dev/null
837 @@ -1,61 +0,0 @@
838 -From f08cb0022527081c078e8b96062e6c9b4fbda151 Mon Sep 17 00:00:00 2001
839 -From: Jose Dapena Paz <jose.dapena@×××.com>
840 -Date: Fri, 26 Jul 2019 16:48:06 +0000
841 -Subject: [PATCH] BinaryUploadService: change parameter passing that cannot afford abstract class
842 -
843 -The method UploadForDeepScanning gets a Request as parameter. But Request is an
844 -abstract class, so GCC will not allow that declaration (polimorphycs should be
845 -passed by reference). Use std::unique_ptr so BinaryUploadService can assume
846 -ownership.
847 -
848 -Bug: 819294
849 -Change-Id: I9e8c75cc92b01abd704d9049b0421555377da5ba
850 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713550
851 -Reviewed-by: Daniel Rubery <drubery@××××××××.org>
852 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
853 -Cr-Commit-Position: refs/heads/master@{#681333}
854 ----
855 -
856 -diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc
857 -index 6430c89..4e90487 100644
858 ---- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc
859 -+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc
860 -@@ -10,7 +10,7 @@
861 - namespace safe_browsing {
862 -
863 - void BinaryUploadService::UploadForDeepScanning(
864 -- BinaryUploadService::Request request) {
865 -+ std::unique_ptr<BinaryUploadService::Request> request) {
866 - DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
867 - NOTREACHED();
868 - }
869 -diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h
870 -index d2dfd83..9b6f395 100644
871 ---- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h
872 -+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h
873 -@@ -5,6 +5,8 @@
874 - #ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_
875 - #define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_
876 -
877 -+#include <memory>
878 -+
879 - #include "base/callback.h"
880 - #include "components/safe_browsing/proto/webprotect.pb.h"
881 -
882 -@@ -40,6 +42,7 @@
883 - public:
884 - // |callback| will run on the UI thread.
885 - explicit Request(Callback callback);
886 -+ virtual ~Request() = default;
887 - Request(const Request&) = delete;
888 - Request& operator=(const Request&) = delete;
889 -
890 -@@ -67,7 +70,7 @@
891 - // Upload the given file contents for deep scanning. The results will be
892 - // returned asynchronously by calling |request|'s |callback|. This must be
893 - // called on the UI thread.
894 -- void UploadForDeepScanning(Request request);
895 -+ void UploadForDeepScanning(std::unique_ptr<Request> request);
896 - };
897 -
898 - } // namespace safe_browsing
899
900 diff --git a/www-client/chromium/files/chromium-77-gcc-alignas.patch b/www-client/chromium/files/chromium-77-gcc-alignas.patch
901 deleted file mode 100644
902 index 3693ef50bed..00000000000
903 --- a/www-client/chromium/files/chromium-77-gcc-alignas.patch
904 +++ /dev/null
905 @@ -1,72 +0,0 @@
906 -From 6b633c4b14850df376d5cec571699018772f358e Mon Sep 17 00:00:00 2001
907 -From: Tomas Popela <tomas.popela@×××××.com>
908 -Date: Tue, 17 Sep 2019 19:48:48 +0000
909 -Subject: [PATCH] GCC: Can't use alignas() together with __attribute__()
910 -
911 -It's because GCC has problems when mixing the alignas() together with
912 -__attribute__() (that is used to export the symbols). The best
913 -solution is to use ALIGNAS() macro from //base/compiler_specific.h
914 -together with alignof() to have the equal functionality that compiles on
915 -GCC as well as on clang.
916 -
917 -Bug: 819294
918 -Change-Id: Ieb169592a2965f17a18bfc88d28418eb723a4e5a
919 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1806735
920 -Auto-Submit: Tomáš Popela <tomas.popela@×××××.com>
921 -Commit-Queue: Alex Clarke <alexclarke@××××××××.org>
922 -Reviewed-by: Alex Clarke <alexclarke@××××××××.org>
923 -Cr-Commit-Position: refs/heads/master@{#697330}
924 ----
925 -
926 -diff --git a/base/task/promise/dependent_list.h b/base/task/promise/dependent_list.h
927 -index 020bdbfc..3245c1c 100644
928 ---- a/base/task/promise/dependent_list.h
929 -+++ b/base/task/promise/dependent_list.h
930 -@@ -59,7 +59,7 @@
931 -
932 - // Align Node on an 8-byte boundary to ensure the first 3 bits are 0 and can
933 - // be used to store additional state (see static_asserts below).
934 -- class BASE_EXPORT alignas(8) Node {
935 -+ class BASE_EXPORT ALIGNAS(8) Node {
936 - public:
937 - Node();
938 - explicit Node(Node&& other) noexcept;
939 -
940 -From 8148fd96ae04a1150a9c6012634dcd2a7335f87a Mon Sep 17 00:00:00 2001
941 -From: Tomas Popela <tomas.popela@×××××.com>
942 -Date: Tue, 20 Aug 2019 05:23:14 +0000
943 -Subject: [PATCH] GCC: Can't use alignas() together with __attribute__()
944 -
945 -It's because GCC has problems when mixing the alignas() together with
946 -__attribute__() (that is used to export the symbols). The best
947 -solution is to use ALIGNAS() macro from //base/compiler_specific.h
948 -together with alignof() to have the equal functionality that compiles on
949 -GCC as well as on clang.
950 -
951 -This is a regression after https://crrev.com/659933.
952 -
953 -Bug: 994581
954 -Change-Id: Ia376866ff9ac57d52d2e907fa325ae5a51893d07
955 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1758064
956 -Reviewed-by: Eric Willigers <ericwilligers@××××××××.org>
957 -Commit-Queue: Eric Willigers <ericwilligers@××××××××.org>
958 -Commit-Queue: Tomáš Popela <tomas.popela@×××××.com>
959 -Auto-Submit: Tomáš Popela <tomas.popela@×××××.com>
960 -Cr-Commit-Position: refs/heads/master@{#688417}
961 ----
962 -
963 -diff --git a/third_party/blink/renderer/core/css/css_property_value_set.h b/third_party/blink/renderer/core/css/css_property_value_set.h
964 -index 67b353d..1bd404e 100644
965 ---- a/third_party/blink/renderer/core/css/css_property_value_set.h
966 -+++ b/third_party/blink/renderer/core/css/css_property_value_set.h
967 -@@ -175,8 +175,8 @@
968 - DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser);
969 - };
970 -
971 --class CORE_EXPORT alignas(Member<const CSSValue>) alignas(
972 -- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet
973 -+class CORE_EXPORT ALIGNAS(alignof(Member<const CSSValue>))
974 -+ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet
975 - : public CSSPropertyValueSet {
976 - public:
977 - ImmutableCSSPropertyValueSet(const CSSPropertyValue*,
978
979 diff --git a/www-client/chromium/files/chromium-77-gcc-include.patch b/www-client/chromium/files/chromium-77-gcc-include.patch
980 deleted file mode 100644
981 index 391f48fd2d9..00000000000
982 --- a/www-client/chromium/files/chromium-77-gcc-include.patch
983 +++ /dev/null
984 @@ -1,26 +0,0 @@
985 -From 8c747a9c14ed4905f60f6680e2e09e33ea34163e Mon Sep 17 00:00:00 2001
986 -From: Jose Dapena Paz <jose.dapena@×××.com>
987 -Date: Fri, 26 Jul 2019 16:18:17 +0000
988 -Subject: [PATCH] IWYU: include <memory> in one_euro_filter.h as it uses std::unique_ptr
989 -
990 -Bug: 819294
991 -Change-Id: Ie1530f7046b0c8eb76e26adca530fa57c67ed876
992 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1720637
993 -Reviewed-by: Ella Ge <eirage@××××××××.org>
994 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
995 -Cr-Commit-Position: refs/heads/master@{#681321}
996 ----
997 -
998 -diff --git a/third_party/one_euro_filter/src/one_euro_filter.h b/third_party/one_euro_filter/src/one_euro_filter.h
999 -index 7f8d15b..a8cd0ab 100644
1000 ---- a/third_party/one_euro_filter/src/one_euro_filter.h
1001 -+++ b/third_party/one_euro_filter/src/one_euro_filter.h
1002 -@@ -1,6 +1,8 @@
1003 - #ifndef ONE_EURO_ONE_EURO_FILTER_H_
1004 - #define ONE_EURO_ONE_EURO_FILTER_H_
1005 -
1006 -+#include <memory>
1007 -+
1008 - #include "low_pass_filter.h"
1009 -
1010 - namespace one_euro_filter {
1011
1012 diff --git a/www-client/chromium/files/chromium-77-no-cups.patch b/www-client/chromium/files/chromium-77-no-cups.patch
1013 deleted file mode 100644
1014 index ac714178ed3..00000000000
1015 --- a/www-client/chromium/files/chromium-77-no-cups.patch
1016 +++ /dev/null
1017 @@ -1,42 +0,0 @@
1018 -From f768afdd3104e7da663aa82e1e8f969aea3f85c3 Mon Sep 17 00:00:00 2001
1019 -From: Lei Zhang <thestig@××××××××.org>
1020 -Date: Thu, 22 Aug 2019 11:44:27 -0700
1021 -Subject: [PATCH] Handle unsupported configs in CreatePrinterHandlerTaskRunner().
1022 -
1023 -CreatePrinterHandlerTaskRunner(), which was added in
1024 -https://crrev.com/658397, used ifdefs to only handle the supported build
1025 -configs. Add a #else case as a catch-all to conservatively handle the
1026 -unsupported configs. Since it is only a couple lines of trivial code,
1027 -doing this does not create much of a maintenance burden.
1028 -
1029 -(backported to chromium-77)
1030 -
1031 -Bug: 990727
1032 -Change-Id: I07bd21abaeffc8223e88b519c3891185d5d2be12
1033 ----
1034 -
1035 -diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
1036 -index a1f3fd3..6e81f5e 100644
1037 ---- a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
1038 -+++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
1039 -@@ -33,12 +33,15 @@ scoped_refptr<base::TaskRunner> CreatePrinterHandlerTaskRunner() {
1040 - static constexpr base::TaskTraits kTraits = {
1041 - base::MayBlock(), base::TaskPriority::USER_VISIBLE};
1042 -
1043 --#if defined(OS_WIN)
1044 -- // Windows drivers are likely not thread-safe.
1045 -- return base::CreateSingleThreadTaskRunnerWithTraits(kTraits);
1046 --#elif defined(USE_CUPS)
1047 -+#if defined(USE_CUPS)
1048 - // CUPS is thread safe.
1049 -- return base::CreateTaskRunnerWithTraits(kTraits);
1050 -+ return base::CreateTaskRunner(kTraits);
1051 -+#elif defined(OS_WIN)
1052 -+ // Windows drivers are likely not thread-safe.
1053 -+ return base::CreateSingleThreadTaskRunner(kTraits);
1054 -+#else
1055 -+ // Be conservative on unsupported platforms.
1056 -+ return base::CreateSingleThreadTaskRunner(kTraits);
1057 - #endif
1058 - }
1059 -
1060
1061 diff --git a/www-client/chromium/files/chromium-77-std-string.patch b/www-client/chromium/files/chromium-77-std-string.patch
1062 deleted file mode 100644
1063 index f921f1aac94..00000000000
1064 --- a/www-client/chromium/files/chromium-77-std-string.patch
1065 +++ /dev/null
1066 @@ -1,130 +0,0 @@
1067 -From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001
1068 -From: Jeremy Roman <jbroman@××××××××.org>
1069 -Date: Wed, 07 Aug 2019 13:26:48 +0000
1070 -Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset initialization would be bad.
1071 -
1072 -Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits.
1073 -
1074 -Bug: 980025
1075 -Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e
1076 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948
1077 -Reviewed-by: Kentaro Hara <haraken@××××××××.org>
1078 -Reviewed-by: Yutaka Hirano <yhirano@××××××××.org>
1079 -Commit-Queue: Jeremy Roman <jbroman@××××××××.org>
1080 -Cr-Commit-Position: refs/heads/master@{#684731}
1081 ----
1082 -
1083 -diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h
1084 -index 0efc8fb..90063cb 100644
1085 ---- a/third_party/blink/renderer/platform/fonts/font_cache_key.h
1086 -+++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h
1087 -@@ -133,6 +133,10 @@
1088 -
1089 - struct FontCacheKeyTraits : WTF::SimpleClassHashTraits<FontCacheKey> {
1090 - STATIC_ONLY(FontCacheKeyTraits);
1091 -+
1092 -+ // std::string's empty state need not be zero in all implementations,
1093 -+ // and it is held within FontFaceCreationParams.
1094 -+ static const bool kEmptyValueIsZero = false;
1095 - };
1096 -
1097 - } // namespace blink
1098 -diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h
1099 -index b35b6e9..77e524c 100644
1100 ---- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h
1101 -+++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h
1102 -@@ -146,6 +146,11 @@
1103 - LinkedHashSetNodeBase* next)
1104 - : LinkedHashSetNodeBase(prev, next), value_(value) {}
1105 -
1106 -+ LinkedHashSetNode(ValueArg&& value,
1107 -+ LinkedHashSetNodeBase* prev,
1108 -+ LinkedHashSetNodeBase* next)
1109 -+ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {}
1110 -+
1111 - LinkedHashSetNode(LinkedHashSetNode&& other)
1112 - : LinkedHashSetNodeBase(std::move(other)),
1113 - value_(std::move(other.value_)) {}
1114 -@@ -445,10 +450,13 @@
1115 -
1116 - // The slot is empty when the next_ field is zero so it's safe to zero
1117 - // the backing.
1118 -- static const bool kEmptyValueIsZero = true;
1119 -+ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero;
1120 -
1121 - static const bool kHasIsEmptyValueFunction = true;
1122 - static bool IsEmptyValue(const Node& node) { return !node.next_; }
1123 -+ static Node EmptyValue() {
1124 -+ return Node(ValueTraits::EmptyValue(), nullptr, nullptr);
1125 -+ }
1126 -
1127 - static const int kDeletedValue = -1;
1128 -
1129 -diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
1130 -index 4c3f899..cd1be00 100644
1131 ---- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
1132 -+++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
1133 -@@ -487,6 +487,7 @@
1134 - };
1135 -
1136 - struct Complicated {
1137 -+ Complicated() : Complicated(0) {}
1138 - Complicated(int value) : simple_(value) { objects_constructed_++; }
1139 -
1140 - Complicated(const Complicated& other) : simple_(other.simple_) {
1141 -@@ -495,9 +496,6 @@
1142 -
1143 - Simple simple_;
1144 - static int objects_constructed_;
1145 --
1146 -- private:
1147 -- Complicated() = delete;
1148 - };
1149 -
1150 - int Complicated::objects_constructed_ = 0;
1151 -@@ -731,4 +729,45 @@
1152 -
1153 - } // anonymous namespace
1154 -
1155 -+// A unit type which objects to its state being initialized wrong.
1156 -+struct InvalidZeroValue {
1157 -+ InvalidZeroValue() = default;
1158 -+ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {}
1159 -+ ~InvalidZeroValue() { CHECK(ok_); }
1160 -+ bool IsHashTableDeletedValue() const { return deleted_; }
1161 -+
1162 -+ bool ok_ = true;
1163 -+ bool deleted_ = false;
1164 -+};
1165 -+
1166 -+template <>
1167 -+struct HashTraits<InvalidZeroValue> : SimpleClassHashTraits<InvalidZeroValue> {
1168 -+ static const bool kEmptyValueIsZero = false;
1169 -+};
1170 -+
1171 -+template <>
1172 -+struct DefaultHash<InvalidZeroValue> {
1173 -+ struct Hash {
1174 -+ static unsigned GetHash(const InvalidZeroValue&) { return 0; }
1175 -+ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) {
1176 -+ return true;
1177 -+ }
1178 -+ };
1179 -+};
1180 -+
1181 -+template <typename Set>
1182 -+class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {};
1183 -+
1184 -+using InvalidZeroValueSetTypes =
1185 -+ testing::Types<ListHashSet<InvalidZeroValue>,
1186 -+ ListHashSet<InvalidZeroValue, 1>,
1187 -+ LinkedHashSet<InvalidZeroValue>>;
1188 -+TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes);
1189 -+
1190 -+TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) {
1191 -+ using Set = TypeParam;
1192 -+ Set set;
1193 -+ set.insert(InvalidZeroValue());
1194 -+}
1195 -+
1196 - } // namespace WTF
1197
1198 diff --git a/www-client/chromium/files/chromium-77-system-hb.patch b/www-client/chromium/files/chromium-77-system-hb.patch
1199 deleted file mode 100644
1200 index 9cea0fac6c5..00000000000
1201 --- a/www-client/chromium/files/chromium-77-system-hb.patch
1202 +++ /dev/null
1203 @@ -1,13 +0,0 @@
1204 -diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn
1205 -index 37d8e33..6610cc6 100644
1206 ---- a/third_party/harfbuzz-ng/BUILD.gn
1207 -+++ b/third_party/harfbuzz-ng/BUILD.gn
1208 -@@ -16,7 +16,7 @@ if (use_system_harfbuzz) {
1209 - "//third_party:freetype_harfbuzz",
1210 - "//third_party/freetype:freetype_source",
1211 - ]
1212 -- packages = [ "harfbuzz" ]
1213 -+ packages = [ "harfbuzz", "harfbuzz-subset" ]
1214 - }
1215 - } else {
1216 - config("harfbuzz_config") {
1217
1218 diff --git a/www-client/chromium/files/chromium-unbundle-zlib.patch b/www-client/chromium/files/chromium-unbundle-zlib.patch
1219 deleted file mode 100644
1220 index d6c45ad816d..00000000000
1221 --- a/www-client/chromium/files/chromium-unbundle-zlib.patch
1222 +++ /dev/null
1223 @@ -1,25 +0,0 @@
1224 -From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001
1225 -From: Your Name <you@×××××××.com>
1226 -Date: Fri, 28 Jun 2019 15:56:23 +0000
1227 -Subject: [PATCH] update zlib
1228 -
1229 ----
1230 - third_party/perfetto/gn/BUILD.gn | 2 +-
1231 - 1 file changed, 1 insertion(+), 1 deletion(-)
1232 -
1233 -diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn
1234 -index c951f5f..297eee3 100644
1235 ---- a/third_party/perfetto/gn/BUILD.gn
1236 -+++ b/third_party/perfetto/gn/BUILD.gn
1237 -@@ -200,7 +200,7 @@ group("zlib") {
1238 - "//buildtools:zlib",
1239 - ]
1240 - } else if (build_with_chromium) {
1241 -- public_configs = [ "//third_party/zlib:zlib_config" ]
1242 -+ public_configs = [ "//third_party/zlib:system_zlib" ]
1243 - public_deps = [
1244 - "//third_party/zlib",
1245 - ]
1246 ---
1247 -2.21.0
1248 -