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: Mon, 20 Jan 2020 17:04:16
Message-Id: 1579539841.1eb18f7be47bdda6cd3957d7b737dd2b29916f97.floppym@gentoo
1 commit: 1eb18f7be47bdda6cd3957d7b737dd2b29916f97
2 Author: Stephan Hartmann <stha09 <AT> googlemail <DOT> com>
3 AuthorDate: Sun Jan 19 18:00:32 2020 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 20 17:04:01 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1eb18f7b
7
8 www-client/chromium: dev channel bump to 81.0.4029.3
9
10 Package-Manager: Portage-2.3.79, Repoman-2.3.16
11 Signed-off-by: Stephan Hartmann <stha09 <AT> googlemail.com>
12 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
13
14 www-client/chromium/Manifest | 1 +
15 www-client/chromium/chromium-81.0.4029.3.ebuild | 747 +++++++++++++++++++++
16 www-client/chromium/files/chromium-81-clang.patch | 13 +
17 .../chromium/files/chromium-81-gcc-dav1d.patch | 12 +
18 .../chromium/files/chromium-81-gcc-noexcept.patch | 13 +
19 .../chromium/files/chromium-81-gcc-template.patch | 32 +
20 .../chromium/files/chromium-compiler-r11.patch | 192 ++++++
21 7 files changed, 1010 insertions(+)
22
23 diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
24 index fc759412bc3..e15704d4c46 100644
25 --- a/www-client/chromium/Manifest
26 +++ b/www-client/chromium/Manifest
27 @@ -1,2 +1,3 @@
28 DIST chromium-79.0.3945.130.tar.xz 778319112 BLAKE2B ac6d7c08c34afc4de8383964f76a5eabc9209de185535a27eff2d6934a77d01fd6b07d5c5afb16e9dd936b2650da76d460e8a485ab16f8300144c7de9b3be2bb SHA512 4b5d4769b068f20b8028085a148cbaf31311eeffad0a22c5c0909af273a8e57e077b33cc93331bbeff9165477262eed2e345b2224ac4f76d8bdb79f983596a81
29 DIST chromium-80.0.3987.53.tar.xz 798716580 BLAKE2B 922023deb0662b50b09db0261a56cfe124e8d15f5ae3e87bb0ac27206821f1a1c7fc223402d5ac8744fb88b00ff677aef21c9b09240d9f9ba4812d7f74d20ec2 SHA512 585501363c1e46d710a3ced89a91ae94e6e876a5cde9db3d0cc83a887f174f61a05d489274a62a832c30862ef5121e2838fc90b69d8ad17895afad94147d2b3f
30 +DIST chromium-81.0.4029.3.tar.xz 884456176 BLAKE2B 56a409e024cafb96db807080aeed0a3a7f21cade7ab797e3dba7ca0628c17997630955b84fe3eb90089738c167ac88398f8d0d24871f7c16ca4382ac141f3a3d SHA512 0b64c45e6c5febcb142a1fe89f94c352db8b57459937511f7e0d010105d94223ba3cb07d5f16fe1cc0534cbdf28bd6badcd8404da65a6d78d3bcc5131ecd9bc5
31
32 diff --git a/www-client/chromium/chromium-81.0.4029.3.ebuild b/www-client/chromium/chromium-81.0.4029.3.ebuild
33 new file mode 100644
34 index 00000000000..cc849adeafa
35 --- /dev/null
36 +++ b/www-client/chromium/chromium-81.0.4029.3.ebuild
37 @@ -0,0 +1,747 @@
38 +# Copyright 2009-2020 Gentoo Authors
39 +# Distributed under the terms of the GNU General Public License v2
40 +
41 +EAPI=7
42 +PYTHON_COMPAT=( python2_7 )
43 +
44 +CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
45 + 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
46 + sv sw ta te th tr uk vi zh-CN zh-TW"
47 +
48 +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
49 +
50 +DESCRIPTION="Open-source version of Google Chrome web browser"
51 +HOMEPAGE="http://chromium.org/"
52 +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz"
53 +
54 +LICENSE="BSD"
55 +SLOT="0"
56 +KEYWORDS="~amd64 ~arm64 ~x86"
57 +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"
58 +RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
59 +REQUIRED_USE="component-build? ( !suid )"
60 +
61 +COMMON_DEPEND="
62 + >=app-accessibility/at-spi2-atk-2.26:2
63 + app-arch/bzip2:=
64 + cups? ( >=net-print/cups-1.3.11:= )
65 + >=dev-libs/atk-2.26
66 + dev-libs/expat:=
67 + dev-libs/glib:2
68 + system-icu? ( >=dev-libs/icu-65:= )
69 + >=dev-libs/libxml2-2.9.4-r3:=[icu]
70 + dev-libs/libxslt:=
71 + dev-libs/nspr:=
72 + >=dev-libs/nss-3.26:=
73 + >=dev-libs/re2-0.2019.08.01:=
74 + gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
75 + >=media-libs/alsa-lib-1.0.19:=
76 + media-libs/fontconfig:=
77 + media-libs/freetype:=
78 + >=media-libs/harfbuzz-2.4.0:0=[icu(-)]
79 + media-libs/libjpeg-turbo:=
80 + media-libs/libpng:=
81 + system-libvpx? ( media-libs/libvpx:=[postproc,svc] )
82 + >=media-libs/openh264-1.6.0:=
83 + pulseaudio? ( media-sound/pulseaudio:= )
84 + system-ffmpeg? (
85 + >=media-video/ffmpeg-4:=
86 + || (
87 + media-video/ffmpeg[-samba]
88 + >=net-fs/samba-4.5.10-r1[-debug(-)]
89 + )
90 + !=net-fs/samba-4.5.12-r0
91 + >=media-libs/opus-1.3.1:=
92 + )
93 + sys-apps/dbus:=
94 + sys-apps/pciutils:=
95 + virtual/udev
96 + x11-libs/cairo:=
97 + x11-libs/gdk-pixbuf:2
98 + x11-libs/gtk+:3[X]
99 + x11-libs/libX11:=
100 + x11-libs/libXcomposite:=
101 + x11-libs/libXcursor:=
102 + x11-libs/libXdamage:=
103 + x11-libs/libXext:=
104 + x11-libs/libXfixes:=
105 + >=x11-libs/libXi-1.6.0:=
106 + x11-libs/libXrandr:=
107 + x11-libs/libXrender:=
108 + x11-libs/libXScrnSaver:=
109 + x11-libs/libXtst:=
110 + x11-libs/pango:=
111 + app-arch/snappy:=
112 + media-libs/flac:=
113 + >=media-libs/libwebp-0.4.0:=
114 + sys-libs/zlib:=[minizip]
115 + kerberos? ( virtual/krb5 )
116 +"
117 +# For nvidia-drivers blocker, see bug #413637 .
118 +RDEPEND="${COMMON_DEPEND}
119 + !<www-plugins/chrome-binary-plugins-57
120 + x11-misc/xdg-utils
121 + virtual/opengl
122 + virtual/ttf-fonts
123 + selinux? ( sec-policy/selinux-chromium )
124 + tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
125 +"
126 +DEPEND="${COMMON_DEPEND}
127 +"
128 +# dev-vcs/git - https://bugs.gentoo.org/593476
129 +BDEPEND="
130 + ${PYTHON_DEPS}
131 + >=app-arch/gzip-1.7
132 + !arm? (
133 + dev-lang/yasm
134 + )
135 + dev-lang/perl
136 + dev-util/gn
137 + dev-vcs/git
138 + >=dev-util/gperf-3.0.3
139 + >=dev-util/ninja-1.7.2
140 + >=net-libs/nodejs-7.6.0[inspector]
141 + sys-apps/hwids[usb(+)]
142 + >=sys-devel/bison-2.4.3
143 + sys-devel/flex
144 + closure-compile? ( virtual/jre )
145 + virtual/pkgconfig
146 +"
147 +
148 +: ${CHROMIUM_FORCE_CLANG=no}
149 +
150 +if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
151 + BDEPEND+=" >=sys-devel/clang-7"
152 +fi
153 +
154 +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
155 + EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
156 +fi
157 +
158 +DISABLE_AUTOFORMATTING="yes"
159 +DOC_CONTENTS="
160 +Some web pages may require additional fonts to display properly.
161 +Try installing some of the following packages if some characters
162 +are not displayed properly:
163 +- media-fonts/arphicfonts
164 +- media-fonts/droid
165 +- media-fonts/ipamonafont
166 +- media-fonts/noto
167 +- media-fonts/ja-ipafonts
168 +- media-fonts/takao-fonts
169 +- media-fonts/wqy-microhei
170 +- media-fonts/wqy-zenhei
171 +
172 +To fix broken icons on the Downloads page, you should install an icon
173 +theme that covers the appropriate MIME types, and configure this as your
174 +GTK+ icon theme.
175 +
176 +For native file dialogs in KDE, install kde-apps/kdialog.
177 +"
178 +
179 +PATCHES=(
180 + "${FILESDIR}/chromium-compiler-r11.patch"
181 + "${FILESDIR}/chromium-fix-char_traits.patch"
182 + "${FILESDIR}/chromium-unbundle-zlib-r1.patch"
183 + "${FILESDIR}/chromium-78-protobuf-export.patch"
184 + "${FILESDIR}/chromium-79-gcc-alignas.patch"
185 + "${FILESDIR}/chromium-80-unbundle-libxml.patch"
186 + "${FILESDIR}/chromium-80-gcc-quiche.patch"
187 + "${FILESDIR}/chromium-80-gcc-blink.patch"
188 + "${FILESDIR}/chromium-80-gcc-abstract.patch"
189 + "${FILESDIR}/chromium-81-gcc-dav1d.patch"
190 + "${FILESDIR}/chromium-81-gcc-template.patch"
191 + "${FILESDIR}/chromium-81-gcc-noexcept.patch"
192 + "${FILESDIR}/chromium-81-clang.patch"
193 +)
194 +
195 +pre_build_checks() {
196 + if [[ ${MERGE_TYPE} != binary ]]; then
197 + local -x CPP="$(tc-getCXX) -E"
198 + if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then
199 + die "At least gcc 8.0 is required"
200 + fi
201 + # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976.
202 + if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then
203 + die "Component build with tcmalloc requires FEATURES=-usersandbox."
204 + fi
205 + if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
206 + if use component-build; then
207 + die "Component build with clang requires fuzzer headers."
208 + fi
209 + fi
210 + fi
211 +
212 + # Check build requirements, bug #541816 and bug #471810 .
213 + CHECKREQS_MEMORY="3G"
214 + CHECKREQS_DISK_BUILD="7G"
215 + if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
216 + CHECKREQS_DISK_BUILD="25G"
217 + if ! use component-build; then
218 + CHECKREQS_MEMORY="16G"
219 + fi
220 + fi
221 + check-reqs_pkg_setup
222 +}
223 +
224 +pkg_pretend() {
225 + pre_build_checks
226 +}
227 +
228 +pkg_setup() {
229 + pre_build_checks
230 +
231 + chromium_suid_sandbox_check_kernel_config
232 +}
233 +
234 +src_prepare() {
235 + # Calling this here supports resumption via FEATURES=keepwork
236 + python_setup
237 +
238 + default
239 +
240 + mkdir -p third_party/node/linux/node-linux-x64/bin || die
241 + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
242 +
243 + local keeplibs=(
244 + base/third_party/cityhash
245 + base/third_party/double_conversion
246 + base/third_party/dynamic_annotations
247 + base/third_party/icu
248 + base/third_party/nspr
249 + base/third_party/superfasthash
250 + base/third_party/symbolize
251 + base/third_party/valgrind
252 + base/third_party/xdg_mime
253 + base/third_party/xdg_user_dirs
254 + buildtools/third_party/libc++
255 + buildtools/third_party/libc++abi
256 + chrome/third_party/mozilla_security_manager
257 + courgette/third_party
258 + net/third_party/mozilla_security_manager
259 + net/third_party/nss
260 + net/third_party/quic
261 + net/third_party/uri_template
262 + third_party/abseil-cpp
263 + third_party/angle
264 + third_party/angle/src/common/third_party/base
265 + third_party/angle/src/common/third_party/smhasher
266 + third_party/angle/src/common/third_party/xxhash
267 + third_party/angle/src/third_party/compiler
268 + third_party/angle/src/third_party/libXNVCtrl
269 + third_party/angle/src/third_party/trace_event
270 + third_party/angle/src/third_party/volk
271 + third_party/angle/third_party/glslang
272 + third_party/angle/third_party/spirv-headers
273 + third_party/angle/third_party/spirv-tools
274 + third_party/angle/third_party/vulkan-headers
275 + third_party/angle/third_party/vulkan-loader
276 + third_party/angle/third_party/vulkan-tools
277 + third_party/angle/third_party/vulkan-validation-layers
278 + third_party/apple_apsl
279 + third_party/axe-core
280 + third_party/blink
281 + third_party/boringssl
282 + third_party/boringssl/src/third_party/fiat
283 + third_party/breakpad
284 + third_party/breakpad/breakpad/src/third_party/curl
285 + third_party/brotli
286 + third_party/cacheinvalidation
287 + third_party/catapult
288 + third_party/catapult/common/py_vulcanize/third_party/rcssmin
289 + third_party/catapult/common/py_vulcanize/third_party/rjsmin
290 + third_party/catapult/third_party/beautifulsoup4
291 + third_party/catapult/third_party/html5lib-python
292 + third_party/catapult/third_party/polymer
293 + third_party/catapult/third_party/six
294 + third_party/catapult/tracing/third_party/d3
295 + third_party/catapult/tracing/third_party/gl-matrix
296 + third_party/catapult/tracing/third_party/jpeg-js
297 + third_party/catapult/tracing/third_party/jszip
298 + third_party/catapult/tracing/third_party/mannwhitneyu
299 + third_party/catapult/tracing/third_party/oboe
300 + third_party/catapult/tracing/third_party/pako
301 + third_party/ced
302 + third_party/cld_3
303 + third_party/closure_compiler
304 + third_party/crashpad
305 + third_party/crashpad/crashpad/third_party/lss
306 + third_party/crashpad/crashpad/third_party/zlib
307 + third_party/crc32c
308 + third_party/cros_system_api
309 + third_party/dav1d
310 + third_party/dawn
311 + third_party/depot_tools
312 + third_party/devscripts
313 + third_party/devtools-frontend
314 + third_party/devtools-frontend/src/front_end/third_party/fabricjs
315 + third_party/devtools-frontend/src/front_end/third_party/wasmparser
316 + third_party/devtools-frontend/src/third_party
317 + third_party/dom_distiller_js
318 + third_party/emoji-segmenter
319 + third_party/flatbuffers
320 + third_party/freetype
321 + third_party/libgifcodec
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/private-join-and-compute
378 + third_party/protobuf
379 + third_party/protobuf/third_party/six
380 + third_party/pyjson5
381 + third_party/qcms
382 + third_party/rnnoise
383 + third_party/s2cellid
384 + third_party/sfntly
385 + third_party/simplejson
386 + third_party/skia
387 + third_party/skia/include/third_party/skcms
388 + third_party/skia/include/third_party/vulkan
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/marl
399 + third_party/swiftshader/third_party/subzero
400 + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
401 + third_party/unrar
402 + third_party/usrsctp
403 + third_party/vulkan
404 + third_party/web-animations-js
405 + third_party/webdriver
406 + third_party/webrtc
407 + third_party/webrtc/common_audio/third_party/fft4g
408 + third_party/webrtc/common_audio/third_party/spl_sqrt_floor
409 + third_party/webrtc/modules/third_party/fft
410 + third_party/webrtc/modules/third_party/g711
411 + third_party/webrtc/modules/third_party/g722
412 + third_party/webrtc/rtc_base/third_party/base64
413 + third_party/webrtc/rtc_base/third_party/sigslot
414 + third_party/widevine
415 + third_party/woff2
416 + third_party/wuffs
417 + third_party/zlib/google
418 + tools/grit/third_party/six
419 + url/third_party/mozilla
420 + v8/src/third_party/siphash
421 + v8/src/third_party/valgrind
422 + v8/src/third_party/utf8-decoder
423 + v8/third_party/inspector_protocol
424 + v8/third_party/v8
425 +
426 + # gyp -> gn leftovers
427 + base/third_party/libevent
428 + third_party/adobe
429 + third_party/speech-dispatcher
430 + third_party/usb_ids
431 + third_party/xdg-utils
432 + third_party/yasm/run_yasm.py
433 + )
434 + if ! use system-ffmpeg; then
435 + keeplibs+=( third_party/ffmpeg third_party/opus )
436 + fi
437 + if ! use system-icu; then
438 + keeplibs+=( third_party/icu )
439 + fi
440 + if ! use system-libvpx; then
441 + keeplibs+=( third_party/libvpx )
442 + keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
443 + fi
444 + if use tcmalloc; then
445 + keeplibs+=( third_party/tcmalloc )
446 + fi
447 +
448 + # Remove most bundled libraries. Some are still needed.
449 + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
450 +}
451 +
452 +src_configure() {
453 + # Calling this here supports resumption via FEATURES=keepwork
454 + python_setup
455 +
456 + local myconf_gn=""
457 +
458 + # Make sure the build system will use the right tools, bug #340795.
459 + tc-export AR CC CXX NM
460 +
461 + if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
462 + # Force clang since gcc is pretty broken at the moment.
463 + CC=${CHOST}-clang
464 + CXX=${CHOST}-clang++
465 + strip-unsupported-flags
466 + fi
467 +
468 + if tc-is-clang; then
469 + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
470 + else
471 + myconf_gn+=" is_clang=false"
472 + fi
473 +
474 + # Define a custom toolchain for GN
475 + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
476 +
477 + if tc-is-cross-compiler; then
478 + tc-export BUILD_{AR,CC,CXX,NM}
479 + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
480 + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
481 + else
482 + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
483 + fi
484 +
485 + # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
486 + myconf_gn+=" is_debug=false"
487 +
488 + # Component build isn't generally intended for use by end users. It's mostly useful
489 + # for development and debugging.
490 + myconf_gn+=" is_component_build=$(usex component-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 + local myarch="$(tc-arch)"
574 +
575 + # Avoid CFLAGS problems, bug #352457, bug #390147.
576 + if ! use custom-cflags; then
577 + replace-flags "-Os" "-O2"
578 + strip-flags
579 +
580 + # Prevent linker from running out of address space, bug #471810 .
581 + if use x86; then
582 + filter-flags "-g*"
583 + fi
584 +
585 + # Prevent libvpx build failures. Bug 530248, 544702, 546984.
586 + if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
587 + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2
588 + fi
589 + fi
590 +
591 + if [[ $myarch = amd64 ]] ; then
592 + myconf_gn+=" target_cpu=\"x64\""
593 + ffmpeg_target_arch=x64
594 + elif [[ $myarch = x86 ]] ; then
595 + myconf_gn+=" target_cpu=\"x86\""
596 + ffmpeg_target_arch=ia32
597 +
598 + # This is normally defined by compiler_cpu_abi in
599 + # build/config/compiler/BUILD.gn, but we patch that part out.
600 + append-flags -msse2 -mfpmath=sse -mmmx
601 + elif [[ $myarch = arm64 ]] ; then
602 + myconf_gn+=" target_cpu=\"arm64\""
603 + ffmpeg_target_arch=arm64
604 + elif [[ $myarch = arm ]] ; then
605 + myconf_gn+=" target_cpu=\"arm\""
606 + ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
607 + else
608 + die "Failed to determine target arch, got '$myarch'."
609 + fi
610 +
611 + # Make sure that -Werror doesn't get added to CFLAGS by the build system.
612 + # Depending on GCC version the warnings are different and we don't want
613 + # the build to fail because of that.
614 + myconf_gn+=" treat_warnings_as_errors=false"
615 +
616 + # Disable fatal linker warnings, bug 506268.
617 + myconf_gn+=" fatal_linker_warnings=false"
618 +
619 + # Bug 491582.
620 + export TMPDIR="${WORKDIR}/temp"
621 + mkdir -p -m 755 "${TMPDIR}" || die
622 +
623 + # https://bugs.gentoo.org/654216
624 + addpredict /dev/dri/ #nowarn
625 +
626 + #if ! use system-ffmpeg; then
627 + if false; then
628 + local build_ffmpeg_args=""
629 + if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
630 + build_ffmpeg_args+=" --disable-asm"
631 + fi
632 +
633 + # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
634 + einfo "Configuring bundled ffmpeg..."
635 + pushd third_party/ffmpeg > /dev/null || die
636 + chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
637 + --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
638 + chromium/scripts/copy_config.sh || die
639 + chromium/scripts/generate_gn.py || die
640 + popd > /dev/null || die
641 + fi
642 +
643 + # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470
644 + append-cxxflags $(test-flags-CXX -flax-vector-conversions=all)
645 +
646 + # Explicitly disable ICU data file support for system-icu builds.
647 + if use system-icu; then
648 + myconf_gn+=" icu_use_data_file=false"
649 + fi
650 +
651 + einfo "Configuring Chromium..."
652 + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
653 + echo "$@"
654 + "$@" || die
655 +}
656 +
657 +src_compile() {
658 + # Final link uses lots of file descriptors.
659 + ulimit -n 2048
660 +
661 + # Calling this here supports resumption via FEATURES=keepwork
662 + python_setup
663 +
664 + #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
665 +
666 + # Build mksnapshot and pax-mark it.
667 + local x
668 + for x in mksnapshot v8_context_snapshot_generator; do
669 + if tc-is-cross-compiler; then
670 + eninja -C out/Release "host/${x}"
671 + pax-mark m "out/Release/host/${x}"
672 + else
673 + eninja -C out/Release "${x}"
674 + pax-mark m "out/Release/${x}"
675 + fi
676 + done
677 +
678 + # Even though ninja autodetects number of CPUs, we respect
679 + # user's options, for debugging with -j 1 or any other reason.
680 + eninja -C out/Release chrome chromedriver
681 + use suid && eninja -C out/Release chrome_sandbox
682 +
683 + pax-mark m out/Release/chrome
684 +
685 + # Build manpage; bug #684550
686 + sed -e 's|@@PACKAGE@@|chromium-browser|g;
687 + s|@@MENUNAME@@|Chromium|g;' \
688 + chrome/app/resources/manpage.1.in > \
689 + out/Release/chromium-browser.1 || die
690 +}
691 +
692 +src_install() {
693 + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
694 + exeinto "${CHROMIUM_HOME}"
695 + doexe out/Release/chrome
696 +
697 + if use suid; then
698 + newexe out/Release/chrome_sandbox chrome-sandbox
699 + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
700 + fi
701 +
702 + doexe out/Release/chromedriver
703 +
704 + local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
705 + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
706 + doexe chromium-launcher.sh
707 +
708 + # It is important that we name the target "chromium-browser",
709 + # xdg-utils expect it; bug #355517.
710 + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
711 + # keep the old symlink around for consistency
712 + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
713 +
714 + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
715 +
716 + # Allow users to override command-line options, bug #357629.
717 + insinto /etc/chromium
718 + newins "${FILESDIR}/chromium.default" "default"
719 +
720 + pushd out/Release/locales > /dev/null || die
721 + chromium_remove_language_paks
722 + popd
723 +
724 + insinto "${CHROMIUM_HOME}"
725 + doins out/Release/*.bin
726 + doins out/Release/*.pak
727 + doins out/Release/*.so
728 +
729 + if ! use system-icu; then
730 + doins out/Release/icudtl.dat
731 + fi
732 +
733 + doins -r out/Release/locales
734 + doins -r out/Release/resources
735 +
736 + if [[ -d out/Release/swiftshader ]]; then
737 + insinto "${CHROMIUM_HOME}/swiftshader"
738 + doins out/Release/swiftshader/*.so
739 + fi
740 +
741 + # Install icons and desktop entry.
742 + local branding size
743 + for size in 16 24 32 48 64 128 256 ; do
744 + case ${size} in
745 + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
746 + *) branding="chrome/app/theme/chromium" ;;
747 + esac
748 + newicon -s ${size} "${branding}/product_logo_${size}.png" \
749 + chromium-browser.png
750 + done
751 +
752 + local mime_types="text/html;text/xml;application/xhtml+xml;"
753 + mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
754 + mime_types+="x-scheme-handler/ftp;" # bug #412185
755 + mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
756 + make_desktop_entry \
757 + chromium-browser \
758 + "Chromium" \
759 + chromium-browser \
760 + "Network;WebBrowser" \
761 + "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
762 + sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
763 +
764 + # Install GNOME default application entry (bug #303100).
765 + insinto /usr/share/gnome-control-center/default-apps
766 + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
767 +
768 + # Install manpage; bug #684550
769 + doman out/Release/chromium-browser.1
770 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1
771 +
772 + readme.gentoo_create_doc
773 +}
774 +
775 +pkg_postrm() {
776 + xdg_icon_cache_update
777 + xdg_desktop_database_update
778 +}
779 +
780 +pkg_postinst() {
781 + xdg_icon_cache_update
782 + xdg_desktop_database_update
783 + readme.gentoo_print_elog
784 +}
785
786 diff --git a/www-client/chromium/files/chromium-81-clang.patch b/www-client/chromium/files/chromium-81-clang.patch
787 new file mode 100644
788 index 00000000000..8f69b34a0ed
789 --- /dev/null
790 +++ b/www-client/chromium/files/chromium-81-clang.patch
791 @@ -0,0 +1,13 @@
792 +diff --git a/chrome/browser/enterprise_reporting/notification/extension_request_notification.cc b/chrome/browser/enterprise_reporting/notification/extension_request_notification.cc
793 +index 659efac..38f6ebc 100644
794 +--- a/chrome/browser/enterprise_reporting/notification/extension_request_notification.cc
795 ++++ b/chrome/browser/enterprise_reporting/notification/extension_request_notification.cc
796 +@@ -46,7 +46,7 @@ constexpr int kNotificationBodies[] = {
797 +
798 + } // namespace
799 +
800 +-ExtensionRequestNotification::ExtensionRequestNotification() = default;
801 ++ExtensionRequestNotification::ExtensionRequestNotification() {}
802 +
803 + ExtensionRequestNotification::ExtensionRequestNotification(
804 + Profile* profile,
805
806 diff --git a/www-client/chromium/files/chromium-81-gcc-dav1d.patch b/www-client/chromium/files/chromium-81-gcc-dav1d.patch
807 new file mode 100644
808 index 00000000000..00586fd929c
809 --- /dev/null
810 +++ b/www-client/chromium/files/chromium-81-gcc-dav1d.patch
811 @@ -0,0 +1,12 @@
812 +diff --git a/third_party/dav1d/BUILD.gn b/third_party/dav1d/BUILD.gn
813 +index 63f12f8..f8f0b40 100644
814 +--- a/third_party/dav1d/BUILD.gn
815 ++++ b/third_party/dav1d/BUILD.gn
816 +@@ -99,6 +99,7 @@ config("dav1d_config") {
817 + dav1d_copts = [
818 + "-D_FILE_OFFSET_BITS=64",
819 + "-D_POSIX_C_SOURCE=200112L",
820 ++ "-D_GNU_SOURCE",
821 + ]
822 +
823 + if (is_win) {
824
825 diff --git a/www-client/chromium/files/chromium-81-gcc-noexcept.patch b/www-client/chromium/files/chromium-81-gcc-noexcept.patch
826 new file mode 100644
827 index 00000000000..90ecb225709
828 --- /dev/null
829 +++ b/www-client/chromium/files/chromium-81-gcc-noexcept.patch
830 @@ -0,0 +1,13 @@
831 +diff --git a/components/paint_preview/browser/paint_preview_client.cc b/components/paint_preview/browser/paint_preview_client.cc
832 +index fc3b5a4..8689acf 100644
833 +--- a/components/paint_preview/browser/paint_preview_client.cc
834 ++++ b/components/paint_preview/browser/paint_preview_client.cc
835 +@@ -79,7 +79,7 @@ PaintPreviewClient::PaintPreviewParams::~PaintPreviewParams() = default;
836 + PaintPreviewClient::PaintPreviewData::PaintPreviewData() = default;
837 + PaintPreviewClient::PaintPreviewData::~PaintPreviewData() = default;
838 + PaintPreviewClient::PaintPreviewData& PaintPreviewClient::PaintPreviewData::
839 +-operator=(PaintPreviewData&& rhs) noexcept = default;
840 ++operator=(PaintPreviewData&& rhs) = default;
841 + PaintPreviewClient::PaintPreviewData::PaintPreviewData(
842 + PaintPreviewData&& other) noexcept = default;
843 +
844
845 diff --git a/www-client/chromium/files/chromium-81-gcc-template.patch b/www-client/chromium/files/chromium-81-gcc-template.patch
846 new file mode 100644
847 index 00000000000..8553d5f603b
848 --- /dev/null
849 +++ b/www-client/chromium/files/chromium-81-gcc-template.patch
850 @@ -0,0 +1,32 @@
851 +diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set.h b/third_party/blink/renderer/platform/wtf/list_hash_set.h
852 +index 7856b7b..76534f6 100644
853 +--- a/third_party/blink/renderer/platform/wtf/list_hash_set.h
854 ++++ b/third_party/blink/renderer/platform/wtf/list_hash_set.h
855 +@@ -308,21 +308,16 @@ class ListHashSetNodeBasePointer {
856 + NodeType& operator*() const { return *Get(); }
857 +
858 + private:
859 +- template <bool = Allocator::kIsGarbageCollected>
860 + void SetSafe(NodeType* node) {
861 +- AsAtomicPtr(&node_)->store(node, std::memory_order_relaxed);
862 +- }
863 +- template <>
864 +- void SetSafe<false>(NodeType* node) {
865 +- node_ = node;
866 ++ if ( Allocator::kIsGarbageCollected )
867 ++ AsAtomicPtr(&node_)->store(node, std::memory_order_relaxed);
868 ++ else
869 ++ node_ = node;
870 + }
871 +
872 +- template <bool = Allocator::kIsGarbageCollected>
873 + NodeType* GetSafe() const {
874 +- return AsAtomicPtr(&node_)->load(std::memory_order_relaxed);
875 +- }
876 +- template <>
877 +- NodeType* GetSafe<false>() const {
878 ++ if ( Allocator::kIsGarbageCollected )
879 ++ return AsAtomicPtr(&node_)->load(std::memory_order_relaxed);
880 + return node_;
881 + }
882 +
883
884 diff --git a/www-client/chromium/files/chromium-compiler-r11.patch b/www-client/chromium/files/chromium-compiler-r11.patch
885 new file mode 100644
886 index 00000000000..1d99927e5de
887 --- /dev/null
888 +++ b/www-client/chromium/files/chromium-compiler-r11.patch
889 @@ -0,0 +1,192 @@
890 +From b29cbcb0ff75b564f83ad93273e881e242f08caf Mon Sep 17 00:00:00 2001
891 +From: Mike Gilbert <floppym@g.o>
892 +Date: Sat, 16 Jun 2019 15:43:27 +0100
893 +Subject: [PATCH] Disable various compiler configs
894 +
895 +---
896 + build/config/compiler/BUILD.gn | 71 ++++++++++++----------------------
897 + 1 file changed, 25 insertions(+), 46 deletions(-)
898 +
899 +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
900 +index 2ac6e8e..b3e760d 100644
901 +--- a/build/config/compiler/BUILD.gn
902 ++++ b/build/config/compiler/BUILD.gn
903 +@@ -269,8 +269,6 @@ config("compiler") {
904 +
905 + configs += [
906 + # See the definitions below.
907 +- ":clang_revision",
908 +- ":compiler_cpu_abi",
909 + ":compiler_codegen",
910 + ":compiler_deterministic",
911 + ]
912 +@@ -495,27 +493,6 @@ config("compiler") {
913 + }
914 + }
915 +
916 +- if (is_clang && !is_nacl && !use_xcode_clang) {
917 +- cflags += [ "-fcrash-diagnostics-dir=" +
918 +- rebase_path("//tools/clang/crashreports", root_build_dir) ]
919 +-
920 +- cflags += [
921 +- # TODO(hans): Remove this once Clang generates better optimized debug info
922 +- # by default. https://crbug.com/765793
923 +- "-Xclang",
924 +- "-mllvm",
925 +- "-Xclang",
926 +- "-instcombine-lower-dbg-declare=0",
927 +- ]
928 +-
929 +- if (llvm_force_head_revision) {
930 +- # Before Clang 10, lax vector conversions were allowed by default.
931 +- # Chromium currently relies on this behavior.
932 +- # TODO(crbug.com/1042470): Fix the code and remove this flag.
933 +- cflags += [ "-flax-vector-conversions=all" ]
934 +- }
935 +- }
936 +-
937 + # C11/C++11 compiler flags setup.
938 + # ---------------------------
939 + if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") {
940 +@@ -1462,6 +1439,12 @@ config("default_warnings") {
941 + cflags_cc += [ "-Wno-class-memaccess" ]
942 + }
943 +
944 ++ # -Wno-class-memaccess warns about hash table and vector in blink.
945 ++ # But the violation is intentional.
946 ++ if (!is_nacl) {
947 ++ cflags_cc += [ "-Wno-class-memaccess" ]
948 ++ }
949 ++
950 + # -Wunused-local-typedefs is broken in gcc,
951 + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63872
952 + cflags += [ "-Wno-unused-local-typedefs" ]
953 +@@ -1587,7 +1570,7 @@ config("chromium_code") {
954 + defines = [ "_HAS_NODISCARD" ]
955 + }
956 + } else {
957 +- cflags = [ "-Wall" ]
958 ++ cflags = []
959 + if (treat_warnings_as_errors) {
960 + cflags += [ "-Werror" ]
961 +
962 +@@ -1596,10 +1579,6 @@ config("chromium_code") {
963 + # well.
964 + ldflags = [ "-Werror" ]
965 + }
966 +- if (is_clang) {
967 +- # Enable extra warnings for chromium_code when we control the compiler.
968 +- cflags += [ "-Wextra" ]
969 +- }
970 +
971 + # In Chromium code, we define __STDC_foo_MACROS in order to get the
972 + # C99 macros on Mac and Linux.
973 +@@ -1608,15 +1587,6 @@ config("chromium_code") {
974 + "__STDC_FORMAT_MACROS",
975 + ]
976 +
977 +- if (!is_debug && !using_sanitizer && current_cpu != "s390x" &&
978 +- current_cpu != "s390" && current_cpu != "ppc64" &&
979 +- current_cpu != "mips" && current_cpu != "mips64") {
980 +- # Non-chromium code is not guaranteed to compile cleanly with
981 +- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
982 +- # disabled, so only do that for Release build.
983 +- defines += [ "_FORTIFY_SOURCE=2" ]
984 +- }
985 +-
986 + if (is_mac) {
987 + cflags_objc = [ "-Wobjc-missing-property-synthesis" ]
988 + cflags_objcc = [ "-Wobjc-missing-property-synthesis" ]
989 +@@ -2020,7 +1990,8 @@ config("default_stack_frames") {
990 + }
991 +
992 + # Default "optimization on" config.
993 +-config("optimize") {
994 ++config("optimize") { }
995 ++config("xoptimize") {
996 + if (is_win) {
997 + # TODO(thakis): Remove is_clang here, https://crbug.com/598772
998 + if (is_official_build && full_wpo_on_official && !is_clang) {
999 +@@ -2046,7 +2017,8 @@ config("optimize") {
1000 + }
1001 +
1002 + # Same config as 'optimize' but without the WPO flag.
1003 +-config("optimize_no_wpo") {
1004 ++config("optimize_no_wpo") { }
1005 ++config("xoptimize_no_wpo") {
1006 + if (is_win) {
1007 + # Favor size over speed, /O1 must be before the common flags. The GYP
1008 + # build also specifies /Os and /GF but these are implied by /O1.
1009 +@@ -2069,7 +2041,8 @@ config("optimize_no_wpo") {
1010 + }
1011 +
1012 + # Turn off optimizations.
1013 +-config("no_optimize") {
1014 ++config("no_optimize") { }
1015 ++config("xno_optimize") {
1016 + if (is_win) {
1017 + cflags = [
1018 + "/Od", # Disable optimization.
1019 +@@ -2103,7 +2076,8 @@ config("no_optimize") {
1020 + # Turns up the optimization level. On Windows, this implies whole program
1021 + # optimization and link-time code generation which is very expensive and should
1022 + # be used sparingly.
1023 +-config("optimize_max") {
1024 ++config("optimize_max") { }
1025 ++config("xoptimize_max") {
1026 + if (is_nacl && is_nacl_irt) {
1027 + # The NaCl IRT is a special case and always wants its own config.
1028 + # Various components do:
1029 +@@ -2142,7 +2116,8 @@ config("optimize_max") {
1030 + #
1031 + # TODO(crbug.com/621335) - rework how all of these configs are related
1032 + # so that we don't need this disclaimer.
1033 +-config("optimize_speed") {
1034 ++config("optimize_speed") { }
1035 ++config("xoptimize_speed") {
1036 + if (is_nacl && is_nacl_irt) {
1037 + # The NaCl IRT is a special case and always wants its own config.
1038 + # Various components do:
1039 +@@ -2172,7 +2147,8 @@ config("optimize_speed") {
1040 + }
1041 + }
1042 +
1043 +-config("optimize_fuzzing") {
1044 ++config("optimize_fuzzing") { }
1045 ++config("xoptimize_fuzzing") {
1046 + cflags = [ "-O1" ] + common_optimize_on_cflags
1047 + ldflags = common_optimize_on_ldflags
1048 + visibility = [ ":default_optimization" ]
1049 +@@ -2288,7 +2264,8 @@ config("win_pdbaltpath") {
1050 + }
1051 +
1052 + # Full symbols.
1053 +-config("symbols") {
1054 ++config("symbols") { }
1055 ++config("xsymbols") {
1056 + if (is_win) {
1057 + if (use_goma || is_clang) {
1058 + # Note that with VC++ this requires is_win_fastlink, enforced elsewhere.
1059 +@@ -2398,7 +2375,8 @@ config("symbols") {
1060 + # Minimal symbols.
1061 + # This config guarantees to hold symbol for stack trace which are shown to user
1062 + # when crash happens in unittests running on buildbot.
1063 +-config("minimal_symbols") {
1064 ++config("minimal_symbols") { }
1065 ++config("xminimal_symbols") {
1066 + if (is_win) {
1067 + # Functions, files, and line tables only.
1068 + cflags = []
1069 +@@ -2453,7 +2431,8 @@ config("minimal_symbols") {
1070 + }
1071 +
1072 + # No symbols.
1073 +-config("no_symbols") {
1074 ++config("no_symbols") { }
1075 ++config("xno_symbols") {
1076 + if (!is_win) {
1077 + cflags = [ "-g0" ]
1078 + asmflags = cflags
1079 +--
1080 +2.24.1
1081 +