Gentoo Archives: gentoo-commits

From: Stephan Hartmann <sultan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/, www-client/chromium/files/
Date: Tue, 28 Jun 2022 06:53:19
Message-Id: 1656399106.86fadaf884374edcf34226ea00e8f59fd24f42f6.sultan@gentoo
1 commit: 86fadaf884374edcf34226ea00e8f59fd24f42f6
2 Author: Stephan Hartmann <sultan <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jun 28 06:51:46 2022 +0000
4 Commit: Stephan Hartmann <sultan <AT> gentoo <DOT> org>
5 CommitDate: Tue Jun 28 06:51:46 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86fadaf8
7
8 www-client/chromium: security cleanup
9
10 Bug: https://bugs.gentoo.org/851003
11 Bug: https://bugs.gentoo.org/853643
12 Signed-off-by: Stephan Hartmann <sultan <AT> gentoo.org>
13
14 www-client/chromium/Manifest | 3 -
15 www-client/chromium/chromium-102.0.5005.115.ebuild | 1034 --------------------
16 www-client/chromium/chromium-102.0.5005.61.ebuild | 1029 -------------------
17 .../files/chromium-101-libxml-unbundle.patch | 10 -
18 .../files/chromium-102-i3-tab-dragging-fix.patch | 70 --
19 .../files/chromium-97-arm-tflite-cast.patch | 26 -
20 6 files changed, 2172 deletions(-)
21
22 diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
23 index ba6e07304e93..5ad994f24952 100644
24 --- a/www-client/chromium/Manifest
25 +++ b/www-client/chromium/Manifest
26 @@ -1,6 +1,3 @@
27 -DIST chromium-102-patchset-6.tar.xz 4780 BLAKE2B c59d23779fd769176e1cd92884dd259e5d37aaff746f7d72274e784f6467940226adea1a1f3921b0c49e402fa320b99a8ea995a3e1ffe881d7a8146aeb2b95e5 SHA512 dbed8e41cb7d2a0f9dd9be9a10b162e2258f016a23340c2ff0de9d73ef067342e63e77bd295e28d1e37fdead5ee52890e6ad143023225bfaff4c4c4a840b4619
28 -DIST chromium-102.0.5005.115.tar.xz 1461900356 BLAKE2B c886967fa9ee2d093f7a5456613c1b0b9e7dfb958f9bef16429cc66eba0e0c26224ad036d690beb230027a92717586ac11ace937920b4c52380ad54134230002 SHA512 37f7789a3fe1d3ffc741fce346b4de25cec6fb21106a3013283a273300409b16115d193036f168a46a6524043a9ed5d4d0276ad1ad469cc347659fa20b678426
29 -DIST chromium-102.0.5005.61.tar.xz 1433350708 BLAKE2B 7130b2c9dbc67783499003fd98f95e050bac3580e9dd6c9f4fee320e9eed876cd8c3ec29d9e9f23c78c159b1b622fbe0511750baeb6f8117f176612e1571747f SHA512 4b5d48debafef0a38105e259f97eac6e25eae1147ce67e357c3ce1e8e7700950af63117ff104b71cfbdfcaa0b31925d1b686ab1be6c52b32dad819c7e38f1846
30 DIST chromium-103-patchset-4.tar.xz 7220 BLAKE2B 3dc9670be01d4bbfd24e8d305ea72e6bd911062a9a012c7548fca76ec34998b54ff31ef0118be5db9fdde3839365103cb06b29ff2ab167ad4313b4b64cba3a63 SHA512 54fb3600bb42ffcd6168f9741432879877bb5d206c11b3874249faaaff13288bffd4e7336f055c0c619efba02aa694de6abde394a6964c0ff6b33d9e3aed1691
31 DIST chromium-103.0.5060.53.tar.xz 1470748636 BLAKE2B 71f4e265afbe655ec41b1f2f8d46c8196b11d86f04fff5604b00167dd13c357058e7a60e8cb0f512a6a3ee32cd52421a5ce51dc0ad4d9e92d79949b5f84a5b64 SHA512 6a312f85e4fda49fc63b1b6bc74b1d6ea5be5a9db98f22c88ab0394968399df49daf1dfab19922b69a04a5afacc16eb9aa3f8af350f4cb1d2b0824c74efcf835
32 DIST chromium-104-patchset-2.tar.xz 6168 BLAKE2B 57e9f2090315d2fa9baa0d285e40fd7809b35a897fba7684672d04850c2b59ea1bc11383654a8178ece2d4baa9bb2e248898d2435618b9e8a995461d6e92ac53 SHA512 f23effc604051c18acfad3bfb974efd4aa675b84135f4eb95e0dd97261dcc9099f283a8015854c375499370f4155bb9fad51fca59555ec2f41f2d7ab90be7208
33
34 diff --git a/www-client/chromium/chromium-102.0.5005.115.ebuild b/www-client/chromium/chromium-102.0.5005.115.ebuild
35 deleted file mode 100644
36 index f6aec029a381..000000000000
37 --- a/www-client/chromium/chromium-102.0.5005.115.ebuild
38 +++ /dev/null
39 @@ -1,1034 +0,0 @@
40 -# Copyright 2009-2022 Gentoo Authors
41 -# Distributed under the terms of the GNU General Public License v2
42 -
43 -EAPI=8
44 -PYTHON_COMPAT=( python3_{8..10} )
45 -PYTHON_REQ_USE="xml"
46 -
47 -CHROMIUM_LANGS="af 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 ur vi zh-CN zh-TW"
50 -
51 -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
52 -
53 -DESCRIPTION="Open-source version of Google Chrome web browser"
54 -HOMEPAGE="https://chromium.org/"
55 -PATCHSET="6"
56 -PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
57 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
58 - https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
59 -
60 -LICENSE="BSD"
61 -SLOT="0/stable"
62 -KEYWORDS="amd64 ~arm64"
63 -IUSE="component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine"
64 -REQUIRED_USE="
65 - component-build? ( !suid !libcxx )
66 - screencast? ( wayland )
67 -"
68 -
69 -COMMON_X_DEPEND="
70 - x11-libs/gdk-pixbuf:2
71 - x11-libs/libXcomposite:=
72 - x11-libs/libXcursor:=
73 - x11-libs/libXdamage:=
74 - x11-libs/libXfixes:=
75 - >=x11-libs/libXi-1.6.0:=
76 - x11-libs/libXrandr:=
77 - x11-libs/libXrender:=
78 - x11-libs/libXtst:=
79 - x11-libs/libxshmfence:=
80 - virtual/opengl
81 -"
82 -
83 -COMMON_SNAPSHOT_DEPEND="
84 - system-icu? ( >=dev-libs/icu-69.1:= )
85 - >=dev-libs/libxml2-2.9.4-r3:=[icu]
86 - dev-libs/nspr:=
87 - >=dev-libs/nss-3.26:=
88 - !libcxx? ( >=dev-libs/re2-0.2019.08.01:= )
89 - dev-libs/libxslt:=
90 - media-libs/fontconfig:=
91 - >=media-libs/freetype-2.11.0-r1:=
92 - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
93 - media-libs/libjpeg-turbo:=
94 - system-png? ( media-libs/libpng:=[-apng] )
95 - >=media-libs/libwebp-0.4.0:=
96 - media-libs/mesa:=[gbm(+)]
97 - >=media-libs/openh264-1.6.0:=
98 - sys-libs/zlib:=
99 - x11-libs/libdrm:=
100 - !headless? (
101 - dev-libs/glib:2
102 - >=media-libs/alsa-lib-1.0.19:=
103 - pulseaudio? ( media-sound/pulseaudio:= )
104 - sys-apps/pciutils:=
105 - kerberos? ( virtual/krb5 )
106 - vaapi? ( >=x11-libs/libva-2.7:=[X] )
107 - x11-libs/libX11:=
108 - x11-libs/libXext:=
109 - x11-libs/libxcb:=
110 - x11-libs/libxkbcommon:=
111 - wayland? (
112 - dev-libs/wayland:=
113 - screencast? ( media-video/pipewire:= )
114 - )
115 - )
116 -"
117 -
118 -COMMON_DEPEND="
119 - ${COMMON_SNAPSHOT_DEPEND}
120 - app-arch/bzip2:=
121 - dev-libs/expat:=
122 - system-ffmpeg? (
123 - >=media-video/ffmpeg-4.3:=
124 - || (
125 - media-video/ffmpeg[-samba]
126 - >=net-fs/samba-4.5.10-r1[-debug(-)]
127 - )
128 - >=media-libs/opus-1.3.1:=
129 - )
130 - net-misc/curl[ssl]
131 - sys-apps/dbus:=
132 - media-libs/flac:=
133 - sys-libs/zlib:=[minizip]
134 - !headless? (
135 - ${COMMON_X_DEPEND}
136 - >=app-accessibility/at-spi2-atk-2.26:2
137 - >=app-accessibility/at-spi2-core-2.26:2
138 - >=dev-libs/atk-2.26
139 - cups? ( >=net-print/cups-1.3.11:= )
140 - virtual/udev
141 - x11-libs/cairo:=
142 - x11-libs/pango:=
143 - )
144 -"
145 -RDEPEND="${COMMON_DEPEND}
146 - !headless? (
147 - || (
148 - x11-libs/gtk+:3[X,wayland?]
149 - gui-libs/gtk:4[X,wayland?]
150 - )
151 - )
152 - x11-misc/xdg-utils
153 - virtual/ttf-fonts
154 - selinux? ( sec-policy/selinux-chromium )
155 -"
156 -DEPEND="${COMMON_DEPEND}
157 - !headless? (
158 - gtk4? ( gui-libs/gtk:4[X,wayland?] )
159 - !gtk4? ( x11-libs/gtk+:3[X,wayland?] )
160 - )
161 -"
162 -BDEPEND="
163 - ${COMMON_SNAPSHOT_DEPEND}
164 - ${PYTHON_DEPS}
165 - $(python_gen_any_dep '
166 - dev-python/setuptools[${PYTHON_USEDEP}]
167 - ')
168 - >=app-arch/gzip-1.7
169 - libcxx? ( >=sys-devel/clang-12 )
170 - dev-lang/perl
171 - >=dev-util/gn-0.1807
172 - >=dev-util/gperf-3.0.3
173 - >=dev-util/ninja-1.7.2
174 - dev-vcs/git
175 - >=net-libs/nodejs-7.6.0[inspector]
176 - >=sys-devel/bison-2.4.3
177 - sys-devel/flex
178 - virtual/pkgconfig
179 - js-type-check? ( virtual/jre )
180 -"
181 -
182 -# These are intended for ebuild maintainer use to force clang if GCC is broken.
183 -: ${CHROMIUM_FORCE_CLANG=no}
184 -
185 -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
186 - BDEPEND+=" >=sys-devel/clang-12"
187 -fi
188 -
189 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
190 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
191 -fi
192 -
193 -DISABLE_AUTOFORMATTING="yes"
194 -DOC_CONTENTS="
195 -Some web pages may require additional fonts to display properly.
196 -Try installing some of the following packages if some characters
197 -are not displayed properly:
198 -- media-fonts/arphicfonts
199 -- media-fonts/droid
200 -- media-fonts/ipamonafont
201 -- media-fonts/noto
202 -- media-fonts/ja-ipafonts
203 -- media-fonts/takao-fonts
204 -- media-fonts/wqy-microhei
205 -- media-fonts/wqy-zenhei
206 -
207 -To fix broken icons on the Downloads page, you should install an icon
208 -theme that covers the appropriate MIME types, and configure this as your
209 -GTK+ icon theme.
210 -
211 -For native file dialogs in KDE, install kde-apps/kdialog.
212 -
213 -To make password storage work with your desktop environment you may
214 -have install one of the supported credentials management applications:
215 -- app-crypt/libsecret (GNOME)
216 -- kde-frameworks/kwallet (KDE)
217 -If you have one of above packages installed, but don't want to use
218 -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
219 -in /etc/chromium/default.
220 -"
221 -
222 -python_check_deps() {
223 - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
224 -}
225 -
226 -pre_build_checks() {
227 - if [[ ${MERGE_TYPE} != binary ]]; then
228 - local -x CPP="$(tc-getCXX) -E"
229 - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
230 - die "At least gcc 9.2 is required"
231 - fi
232 - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang || use libcxx; then
233 - tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++
234 - CPP+=" -E"
235 - if ! ver_test "$(clang-major-version)" -ge 12; then
236 - die "At least clang 12 is required"
237 - fi
238 - fi
239 - fi
240 -
241 - # Check build requirements, bug #541816 and bug #471810 .
242 - CHECKREQS_MEMORY="4G"
243 - CHECKREQS_DISK_BUILD="10G"
244 - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="13G"
245 - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
246 - if use custom-cflags || use component-build; then
247 - CHECKREQS_DISK_BUILD="25G"
248 - fi
249 - if ! use component-build; then
250 - CHECKREQS_MEMORY="16G"
251 - fi
252 - fi
253 - check-reqs_pkg_setup
254 -}
255 -
256 -pkg_pretend() {
257 - pre_build_checks
258 -
259 - if use headless; then
260 - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland")
261 - for myiuse in ${headless_unused_flags[@]}; do
262 - use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set."
263 - done
264 - fi
265 -}
266 -
267 -pkg_setup() {
268 - pre_build_checks
269 -
270 - chromium_suid_sandbox_check_kernel_config
271 -
272 - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams
273 - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then
274 - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable"
275 - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default."
276 - fi
277 -}
278 -
279 -src_prepare() {
280 - # Calling this here supports resumption via FEATURES=keepwork
281 - python_setup
282 -
283 - local PATCHES=(
284 - "${WORKDIR}/patches"
285 - "${FILESDIR}/chromium-93-InkDropHost-crash.patch"
286 - "${FILESDIR}/chromium-97-arm-tflite-cast.patch"
287 - "${FILESDIR}/chromium-98-EnumTable-crash.patch"
288 - "${FILESDIR}/chromium-98-gtk4-build.patch"
289 - "${FILESDIR}/chromium-101-libxml-unbundle.patch"
290 - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
291 - "${FILESDIR}/chromium-shim_headers.patch"
292 - "${FILESDIR}/chromium-cross-compile.patch"
293 - )
294 -
295 - default
296 -
297 - mkdir -p third_party/node/linux/node-linux-x64/bin || die
298 - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
299 -
300 - # adjust python interpreter version
301 - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
302 -
303 - local keeplibs=(
304 - base/third_party/cityhash
305 - base/third_party/double_conversion
306 - base/third_party/dynamic_annotations
307 - base/third_party/icu
308 - base/third_party/nspr
309 - base/third_party/superfasthash
310 - base/third_party/symbolize
311 - base/third_party/valgrind
312 - base/third_party/xdg_mime
313 - base/third_party/xdg_user_dirs
314 - buildtools/third_party/libc++
315 - buildtools/third_party/libc++abi
316 - chrome/third_party/mozilla_security_manager
317 - courgette/third_party
318 - net/third_party/mozilla_security_manager
319 - net/third_party/nss
320 - net/third_party/quic
321 - net/third_party/uri_template
322 - third_party/abseil-cpp
323 - third_party/angle
324 - third_party/angle/src/common/third_party/base
325 - third_party/angle/src/common/third_party/smhasher
326 - third_party/angle/src/common/third_party/xxhash
327 - third_party/angle/src/third_party/libXNVCtrl
328 - third_party/angle/src/third_party/trace_event
329 - third_party/angle/src/third_party/volk
330 - third_party/apple_apsl
331 - third_party/axe-core
332 - third_party/blink
333 - third_party/boringssl
334 - third_party/boringssl/src/third_party/fiat
335 - third_party/breakpad
336 - third_party/breakpad/breakpad/src/third_party/curl
337 - third_party/brotli
338 - third_party/catapult
339 - third_party/catapult/common/py_vulcanize/third_party/rcssmin
340 - third_party/catapult/common/py_vulcanize/third_party/rjsmin
341 - third_party/catapult/third_party/beautifulsoup4-4.9.3
342 - third_party/catapult/third_party/html5lib-1.1
343 - third_party/catapult/third_party/polymer
344 - third_party/catapult/third_party/six
345 - third_party/catapult/tracing/third_party/d3
346 - third_party/catapult/tracing/third_party/gl-matrix
347 - third_party/catapult/tracing/third_party/jpeg-js
348 - third_party/catapult/tracing/third_party/jszip
349 - third_party/catapult/tracing/third_party/mannwhitneyu
350 - third_party/catapult/tracing/third_party/oboe
351 - third_party/catapult/tracing/third_party/pako
352 - third_party/ced
353 - third_party/cld_3
354 - third_party/closure_compiler
355 - third_party/crashpad
356 - third_party/crashpad/crashpad/third_party/lss
357 - third_party/crashpad/crashpad/third_party/zlib
358 - third_party/crc32c
359 - third_party/cros_system_api
360 - third_party/dav1d
361 - third_party/dawn
362 - third_party/dawn/third_party/gn/webgpu-cts
363 - third_party/dawn/third_party/khronos
364 - third_party/depot_tools
365 - third_party/devscripts
366 - third_party/devtools-frontend
367 - third_party/devtools-frontend/src/front_end/third_party/acorn
368 - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
369 - third_party/devtools-frontend/src/front_end/third_party/axe-core
370 - third_party/devtools-frontend/src/front_end/third_party/chromium
371 - third_party/devtools-frontend/src/front_end/third_party/codemirror
372 - third_party/devtools-frontend/src/front_end/third_party/diff
373 - third_party/devtools-frontend/src/front_end/third_party/i18n
374 - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
375 - third_party/devtools-frontend/src/front_end/third_party/lighthouse
376 - third_party/devtools-frontend/src/front_end/third_party/lit-html
377 - third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
378 - third_party/devtools-frontend/src/front_end/third_party/marked
379 - third_party/devtools-frontend/src/front_end/third_party/puppeteer
380 - third_party/devtools-frontend/src/front_end/third_party/wasmparser
381 - third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
382 - third_party/devtools-frontend/src/third_party
383 - third_party/distributed_point_functions
384 - third_party/dom_distiller_js
385 - third_party/eigen3
386 - third_party/emoji-segmenter
387 - third_party/farmhash
388 - third_party/fdlibm
389 - third_party/fft2d
390 - third_party/flatbuffers
391 - third_party/freetype
392 - third_party/fusejs
393 - third_party/highway
394 - third_party/libgifcodec
395 - third_party/liburlpattern
396 - third_party/libzip
397 - third_party/gemmlowp
398 - third_party/google_input_tools
399 - third_party/google_input_tools/third_party/closure_library
400 - third_party/google_input_tools/third_party/closure_library/third_party/closure
401 - third_party/googletest
402 - third_party/hunspell
403 - third_party/iccjpeg
404 - third_party/inspector_protocol
405 - third_party/jinja2
406 - third_party/jsoncpp
407 - third_party/jstemplate
408 - third_party/khronos
409 - third_party/leveldatabase
410 - third_party/libaddressinput
411 - third_party/libaom
412 - third_party/libaom/source/libaom/third_party/fastfeat
413 - third_party/libaom/source/libaom/third_party/vector
414 - third_party/libaom/source/libaom/third_party/x86inc
415 - third_party/libavif
416 - third_party/libgav1
417 - third_party/libjingle
418 - third_party/libjxl
419 - third_party/libphonenumber
420 - third_party/libsecret
421 - third_party/libsrtp
422 - third_party/libsync
423 - third_party/libudev
424 - third_party/libva_protected_content
425 - third_party/libvpx
426 - third_party/libvpx/source/libvpx/third_party/x86inc
427 - third_party/libwebm
428 - third_party/libx11
429 - third_party/libxcb-keysyms
430 - third_party/libxml/chromium
431 - third_party/libyuv
432 - third_party/llvm
433 - third_party/lottie
434 - third_party/lss
435 - third_party/lzma_sdk
436 - third_party/mako
437 - third_party/maldoca
438 - third_party/maldoca/src/third_party/tensorflow_protos
439 - third_party/maldoca/src/third_party/zlibwrapper
440 - third_party/markupsafe
441 - third_party/mesa
442 - third_party/metrics_proto
443 - third_party/minigbm
444 - third_party/modp_b64
445 - third_party/nasm
446 - third_party/nearby
447 - third_party/neon_2_sse
448 - third_party/node
449 - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
450 - third_party/one_euro_filter
451 - third_party/openscreen
452 - third_party/openscreen/src/third_party/mozilla
453 - third_party/openscreen/src/third_party/tinycbor/src/src
454 - third_party/ots
455 - third_party/pdfium
456 - third_party/pdfium/third_party/agg23
457 - third_party/pdfium/third_party/base
458 - third_party/pdfium/third_party/bigint
459 - third_party/pdfium/third_party/freetype
460 - third_party/pdfium/third_party/lcms
461 - third_party/pdfium/third_party/libopenjpeg20
462 - third_party/pdfium/third_party/libpng16
463 - third_party/pdfium/third_party/libtiff
464 - third_party/pdfium/third_party/skia_shared
465 - third_party/perfetto
466 - third_party/perfetto/protos/third_party/chromium
467 - third_party/pffft
468 - third_party/ply
469 - third_party/polymer
470 - third_party/private-join-and-compute
471 - third_party/private_membership
472 - third_party/protobuf
473 - third_party/protobuf/third_party/six
474 - third_party/pyjson5
475 - third_party/qcms
476 - third_party/rnnoise
477 - third_party/s2cellid
478 - third_party/securemessage
479 - third_party/shell-encryption
480 - third_party/simplejson
481 - third_party/skia
482 - third_party/skia/include/third_party/skcms
483 - third_party/skia/include/third_party/vulkan
484 - third_party/skia/third_party/skcms
485 - third_party/skia/third_party/vulkan
486 - third_party/smhasher
487 - third_party/snappy
488 - third_party/sqlite
489 - third_party/swiftshader
490 - third_party/swiftshader/third_party/astc-encoder
491 - third_party/swiftshader/third_party/llvm-subzero
492 - third_party/swiftshader/third_party/marl
493 - third_party/swiftshader/third_party/subzero
494 - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
495 - third_party/swiftshader/third_party/SPIRV-Tools
496 - third_party/tensorflow-text
497 - third_party/tflite
498 - third_party/tflite/src/third_party/eigen3
499 - third_party/tflite/src/third_party/fft2d
500 - third_party/ruy
501 - third_party/six
502 - third_party/ukey2
503 - third_party/unrar
504 - third_party/utf
505 - third_party/vulkan
506 - third_party/web-animations-js
507 - third_party/webdriver
508 - third_party/webgpu-cts
509 - third_party/webrtc
510 - third_party/webrtc/common_audio/third_party/ooura
511 - third_party/webrtc/common_audio/third_party/spl_sqrt_floor
512 - third_party/webrtc/modules/third_party/fft
513 - third_party/webrtc/modules/third_party/g711
514 - third_party/webrtc/modules/third_party/g722
515 - third_party/webrtc/rtc_base/third_party/base64
516 - third_party/webrtc/rtc_base/third_party/sigslot
517 - third_party/widevine
518 - third_party/woff2
519 - third_party/wuffs
520 - third_party/x11proto
521 - third_party/xcbproto
522 - third_party/zxcvbn-cpp
523 - third_party/zlib/google
524 - url/third_party/mozilla
525 - v8/src/third_party/siphash
526 - v8/src/third_party/valgrind
527 - v8/src/third_party/utf8-decoder
528 - v8/third_party/inspector_protocol
529 - v8/third_party/v8
530 -
531 - # gyp -> gn leftovers
532 - base/third_party/libevent
533 - third_party/speech-dispatcher
534 - third_party/usb_ids
535 - third_party/xdg-utils
536 - )
537 - if ! use system-ffmpeg; then
538 - keeplibs+=( third_party/ffmpeg third_party/opus )
539 - fi
540 - if ! use system-icu; then
541 - keeplibs+=( third_party/icu )
542 - fi
543 - if ! use system-png; then
544 - keeplibs+=( third_party/libpng )
545 - fi
546 - if use libcxx; then
547 - keeplibs+=( third_party/re2 )
548 - fi
549 - if use system-harfbuzz; then
550 - keeplibs+=( third_party/harfbuzz-ng/utils )
551 - else
552 - keeplibs+=( third_party/harfbuzz-ng )
553 - fi
554 - if use wayland && ! use headless ; then
555 - keeplibs+=( third_party/wayland )
556 - fi
557 - if use arm64 || use ppc64 ; then
558 - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
559 - fi
560 - # we need to generate ppc64 stuff because upstream does not ship it yet
561 - # it has to be done before unbundling.
562 - if use ppc64; then
563 - pushd third_party/libvpx >/dev/null || die
564 - mkdir -p source/config/linux/ppc64 || die
565 - # requires git and clang, bug #832803
566 - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \
567 - generate_gni.sh || die
568 - ./generate_gni.sh || die
569 - popd >/dev/null || die
570 -
571 - pushd third_party/ffmpeg >/dev/null || die
572 - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
573 - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
574 - popd >/dev/null || die
575 - fi
576 -
577 - # Remove most bundled libraries. Some are still needed.
578 - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
579 -
580 - if use js-type-check; then
581 - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die
582 - fi
583 -
584 - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
585 - mkdir -p buildtools/third_party/eu-strip/bin || die
586 - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
587 -}
588 -
589 -src_configure() {
590 - # Calling this here supports resumption via FEATURES=keepwork
591 - python_setup
592 -
593 - local myconf_gn=""
594 -
595 - # Make sure the build system will use the right tools, bug #340795.
596 - tc-export AR CC CXX NM
597 -
598 - if { [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx; } && ! tc-is-clang; then
599 - # Force clang since gcc is either broken or build is using libcxx.
600 - if tc-is-cross-compiler; then
601 - CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
602 - CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
603 - BUILD_CC=${CBUILD}-clang
604 - BUILD_CXX=${CBUILD}-clang++
605 - else
606 - CC=${CHOST}-clang
607 - CXX=${CHOST}-clang++
608 - fi
609 - strip-unsupported-flags
610 - fi
611 -
612 - if tc-is-clang || use libcxx; then
613 - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
614 - else
615 - myconf_gn+=" is_clang=false"
616 - fi
617 -
618 - # Define a custom toolchain for GN
619 - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
620 -
621 - if tc-is-cross-compiler; then
622 - tc-export BUILD_{AR,CC,CXX,NM}
623 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
624 - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
625 - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
626 - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
627 -
628 - # setup cups-config, build system only uses --libs option
629 - if use cups; then
630 - mkdir "${T}/cups-config" || die
631 - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
632 - export PATH="${PATH}:${T}/cups-config"
633 - fi
634 -
635 - # Don't inherit PKG_CONFIG_PATH from environment
636 - local -x PKG_CONFIG_PATH=
637 - else
638 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
639 - fi
640 -
641 - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
642 - myconf_gn+=" is_debug=false"
643 -
644 - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
645 - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
646 - myconf_gn+=" dcheck_always_on=$(usex debug true false)"
647 - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
648 -
649 - # Component build isn't generally intended for use by end users. It's mostly useful
650 - # for development and debugging.
651 - myconf_gn+=" is_component_build=$(usex component-build true false)"
652 -
653 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
654 - myconf_gn+=" enable_nacl=false"
655 -
656 - # Use system-provided libraries.
657 - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
658 - # TODO: use_system_hunspell (upstream changes needed).
659 - # TODO: use_system_protobuf (bug #525560).
660 - # TODO: use_system_sqlite (http://crbug.com/22208).
661 -
662 - # libevent: https://bugs.gentoo.org/593458
663 - local gn_system_libraries=(
664 - flac
665 - fontconfig
666 - freetype
667 - # Need harfbuzz_from_pkgconfig target
668 - #harfbuzz-ng
669 - libdrm
670 - libjpeg
671 - libwebp
672 - libxml
673 - libxslt
674 - openh264
675 - zlib
676 - )
677 - if use system-ffmpeg; then
678 - gn_system_libraries+=( ffmpeg opus )
679 - fi
680 - if use system-icu; then
681 - gn_system_libraries+=( icu )
682 - fi
683 - if use system-png; then
684 - gn_system_libraries+=( libpng )
685 - fi
686 - # re2 library interface relies on std::string and std::vector
687 - if ! use libcxx; then
688 - gn_system_libraries+=( re2 )
689 - fi
690 - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
691 -
692 - # See dependency logic in third_party/BUILD.gn
693 - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
694 -
695 - # Disable deprecated libgnome-keyring dependency, bug #713012
696 - myconf_gn+=" use_gnome_keyring=false"
697 -
698 - # Optional dependencies.
699 - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)"
700 - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
701 - myconf_gn+=" enable_widevine=$(usex widevine true false)"
702 -
703 - if use headless; then
704 - myconf_gn+=" use_cups=false"
705 - myconf_gn+=" use_kerberos=false"
706 - myconf_gn+=" use_pulseaudio=false"
707 - myconf_gn+=" use_vaapi=false"
708 - myconf_gn+=" rtc_use_pipewire=false"
709 - else
710 - myconf_gn+=" use_cups=$(usex cups true false)"
711 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
712 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
713 - myconf_gn+=" use_vaapi=$(usex vaapi true false)"
714 - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
715 - myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
716 - fi
717 -
718 - # TODO: link_pulseaudio=true for GN.
719 -
720 - myconf_gn+=" disable_fieldtrial_testing_config=true"
721 -
722 - # Never use bundled gold binary. Disable gold linker flags for now.
723 - # Do not use bundled clang.
724 - # Trying to use gold results in linker crash.
725 - myconf_gn+=" use_gold=false use_sysroot=false"
726 - myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)"
727 -
728 - # Disable forced lld, bug 641556
729 - myconf_gn+=" use_lld=false"
730 -
731 - # Disable pseudolocales, only used for testing
732 - myconf_gn+=" enable_pseudolocales=false"
733 -
734 - # Disable code formating of generated files
735 - myconf_gn+=" blink_enable_generated_code_formatting=false"
736 -
737 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
738 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
739 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
740 -
741 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
742 - # Note: these are for Gentoo use ONLY. For your own distribution,
743 - # please get your own set of keys. Feel free to contact chromium@g.o
744 - # for more info. The OAuth2 credentials, however, have been left out.
745 - # Those OAuth2 credentials have been broken for quite some time anyway.
746 - # Instead we apply a patch to use the --oauth2-client-id= and
747 - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
748 - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
749 - # Chromium without baked-in values.
750 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
751 - myconf_gn+=" google_api_key=\"${google_api_key}\""
752 - local myarch="$(tc-arch)"
753 -
754 - # Avoid CFLAGS problems, bug #352457, bug #390147.
755 - if ! use custom-cflags; then
756 - replace-flags "-Os" "-O2"
757 - strip-flags
758 -
759 - # Debug info section overflows without component build
760 - # Prevent linker from running out of address space, bug #471810 .
761 - if ! use component-build || use x86; then
762 - filter-flags "-g*"
763 - fi
764 -
765 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
766 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
767 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4
768 - fi
769 - fi
770 -
771 - if [[ $myarch = amd64 ]] ; then
772 - myconf_gn+=" target_cpu=\"x64\""
773 - ffmpeg_target_arch=x64
774 - elif [[ $myarch = x86 ]] ; then
775 - myconf_gn+=" target_cpu=\"x86\""
776 - ffmpeg_target_arch=ia32
777 -
778 - # This is normally defined by compiler_cpu_abi in
779 - # build/config/compiler/BUILD.gn, but we patch that part out.
780 - append-flags -msse2 -mfpmath=sse -mmmx
781 - elif [[ $myarch = arm64 ]] ; then
782 - myconf_gn+=" target_cpu=\"arm64\""
783 - ffmpeg_target_arch=arm64
784 - elif [[ $myarch = arm ]] ; then
785 - myconf_gn+=" target_cpu=\"arm\""
786 - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
787 - elif [[ $myarch = ppc64 ]] ; then
788 - myconf_gn+=" target_cpu=\"ppc64\""
789 - ffmpeg_target_arch=ppc64
790 - else
791 - die "Failed to determine target arch, got '$myarch'."
792 - fi
793 -
794 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
795 - # Depending on GCC version the warnings are different and we don't want
796 - # the build to fail because of that.
797 - myconf_gn+=" treat_warnings_as_errors=false"
798 -
799 - # Disable fatal linker warnings, bug 506268.
800 - myconf_gn+=" fatal_linker_warnings=false"
801 -
802 - # Disable external code space for V8 for ppc64. It is disabled for ppc64
803 - # by default, but cross-compiling on amd64 enables it again.
804 - if tc-is-cross-compiler; then
805 - if ! use amd64 && ! use arm64; then
806 - myconf_gn+=" v8_enable_external_code_space=false"
807 - fi
808 - fi
809 -
810 - # Bug 491582.
811 - export TMPDIR="${WORKDIR}/temp"
812 - mkdir -p -m 755 "${TMPDIR}" || die
813 -
814 - # https://bugs.gentoo.org/654216
815 - addpredict /dev/dri/ #nowarn
816 -
817 - #if ! use system-ffmpeg; then
818 - if false; then
819 - local build_ffmpeg_args=""
820 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
821 - build_ffmpeg_args+=" --disable-asm"
822 - fi
823 -
824 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
825 - einfo "Configuring bundled ffmpeg..."
826 - pushd third_party/ffmpeg > /dev/null || die
827 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
828 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
829 - chromium/scripts/copy_config.sh || die
830 - chromium/scripts/generate_gn.py || die
831 - popd > /dev/null || die
832 - fi
833 -
834 - # Disable unknown warning message from clang.
835 - if tc-is-clang; then
836 - append-flags -Wno-unknown-warning-option
837 - if tc-is-cross-compiler; then
838 - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
839 - export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
840 - fi
841 - fi
842 -
843 - # Explicitly disable ICU data file support for system-icu/headless builds.
844 - if use system-icu || use headless; then
845 - myconf_gn+=" icu_use_data_file=false"
846 - fi
847 -
848 - # Enable ozone wayland and/or headless support
849 - myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
850 - myconf_gn+=" ozone_platform_headless=true"
851 - myconf_gn+=" ozone_platform_x11=$(usex headless false true)"
852 - if use wayland || use headless; then
853 - if use headless; then
854 - myconf_gn+=" ozone_platform=\"headless\""
855 - myconf_gn+=" use_xkbcommon=false use_gtk=false"
856 - myconf_gn+=" use_glib=false use_gio=false"
857 - myconf_gn+=" use_pangocairo=false use_alsa=false"
858 - myconf_gn+=" use_libpci=false use_udev=false"
859 - myconf_gn+=" enable_print_preview=false"
860 - myconf_gn+=" enable_remoting=false"
861 - else
862 - myconf_gn+=" ozone_platform_wayland=true"
863 - myconf_gn+=" use_system_libdrm=true"
864 - myconf_gn+=" use_system_minigbm=true"
865 - myconf_gn+=" use_xkbcommon=true"
866 - myconf_gn+=" ozone_platform=\"wayland\""
867 - fi
868 - else
869 - myconf_gn+=" ozone_platform=\"x11\""
870 - fi
871 -
872 - # Results in undefined references in chrome linking, may require CFI to work
873 - if use arm64; then
874 - myconf_gn+=" arm_control_flow_integrity=\"none\""
875 - fi
876 -
877 - # Enable official builds
878 - myconf_gn+=" is_official_build=$(usex official true false)"
879 - myconf_gn+=" use_thin_lto=false"
880 - if use official; then
881 - # Allow building against system libraries in official builds
882 - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
883 - tools/generate_shim_headers/generate_shim_headers.py || die
884 - # Disable CFI: unsupported for GCC, requires clang+lto+lld
885 - myconf_gn+=" is_cfi=false"
886 - # Disable PGO, because profile data is only compatible with >=clang-11
887 - myconf_gn+=" chrome_pgo_phase=0"
888 - # Don't add symbols to build
889 - myconf_gn+=" symbol_level=0"
890 - fi
891 -
892 - # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
893 - if use arm64 && tc-is-gcc; then
894 - sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
895 - third_party/crc32c/src/src/crc32c_arm64.cc || die
896 - fi
897 -
898 - einfo "Configuring Chromium..."
899 - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
900 - echo "$@"
901 - "$@" || die
902 -}
903 -
904 -src_compile() {
905 - # Final link uses lots of file descriptors.
906 - ulimit -n 2048
907 -
908 - # Calling this here supports resumption via FEATURES=keepwork
909 - python_setup
910 -
911 - # Don't inherit PYTHONPATH from environment, bug #789021, #812689
912 - local -x PYTHONPATH=
913 -
914 - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
915 -
916 - # Build mksnapshot and pax-mark it.
917 - local x
918 - for x in mksnapshot v8_context_snapshot_generator; do
919 - if tc-is-cross-compiler; then
920 - eninja -C out/Release "host/${x}"
921 - pax-mark m "out/Release/host/${x}"
922 - else
923 - eninja -C out/Release "${x}"
924 - pax-mark m "out/Release/${x}"
925 - fi
926 - done
927 -
928 - # Even though ninja autodetects number of CPUs, we respect
929 - # user's options, for debugging with -j 1 or any other reason.
930 - eninja -C out/Release chrome chromedriver
931 - use suid && eninja -C out/Release chrome_sandbox
932 -
933 - pax-mark m out/Release/chrome
934 -
935 - mv out/Release/chromedriver{.unstripped,} || die
936 -
937 - # Build manpage; bug #684550
938 - sed -e 's|@@PACKAGE@@|chromium-browser|g;
939 - s|@@MENUNAME@@|Chromium|g;' \
940 - chrome/app/resources/manpage.1.in > \
941 - out/Release/chromium-browser.1 || die
942 -
943 - # Build desktop file; bug #706786
944 - sed -e 's|@@MENUNAME@@|Chromium|g;
945 - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
946 - s|@@PACKAGE@@|chromium-browser|g;
947 - s|\(^Exec=\)/usr/bin/|\1|g;' \
948 - chrome/installer/linux/common/desktop.template > \
949 - out/Release/chromium-browser-chromium.desktop || die
950 -
951 - # Build vk_swiftshader_icd.json; bug #827861
952 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
953 - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
954 - out/Release/vk_swiftshader_icd.json || die
955 -}
956 -
957 -src_install() {
958 - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
959 - exeinto "${CHROMIUM_HOME}"
960 - doexe out/Release/chrome
961 -
962 - if use suid; then
963 - newexe out/Release/chrome_sandbox chrome-sandbox
964 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
965 - fi
966 -
967 - doexe out/Release/chromedriver
968 - doexe out/Release/chrome_crashpad_handler
969 -
970 - ozone_auto_session () {
971 - use wayland && ! use headless && echo true || echo false
972 - }
973 - local sedargs=( -e
974 - "s:/usr/lib/:/usr/$(get_libdir)/:g;
975 - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
976 - )
977 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
978 - doexe chromium-launcher.sh
979 -
980 - # It is important that we name the target "chromium-browser",
981 - # xdg-utils expect it; bug #355517.
982 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
983 - # keep the old symlink around for consistency
984 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
985 -
986 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
987 -
988 - # Allow users to override command-line options, bug #357629.
989 - insinto /etc/chromium
990 - newins "${FILESDIR}/chromium.default" "default"
991 -
992 - pushd out/Release/locales > /dev/null || die
993 - chromium_remove_language_paks
994 - popd
995 -
996 - insinto "${CHROMIUM_HOME}"
997 - doins out/Release/*.bin
998 - doins out/Release/*.pak
999 - (
1000 - shopt -s nullglob
1001 - local files=(out/Release/*.so out/Release/*.so.[0-9])
1002 - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
1003 - )
1004 -
1005 - if ! use system-icu && ! use headless; then
1006 - doins out/Release/icudtl.dat
1007 - fi
1008 -
1009 - doins -r out/Release/locales
1010 - doins -r out/Release/MEIPreload
1011 -
1012 - # Install vk_swiftshader_icd.json; bug #827861
1013 - doins out/Release/vk_swiftshader_icd.json
1014 -
1015 - if [[ -d out/Release/swiftshader ]]; then
1016 - insinto "${CHROMIUM_HOME}/swiftshader"
1017 - doins out/Release/swiftshader/*.so
1018 - fi
1019 -
1020 - # Install icons
1021 - local branding size
1022 - for size in 16 24 32 48 64 128 256 ; do
1023 - case ${size} in
1024 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
1025 - *) branding="chrome/app/theme/chromium" ;;
1026 - esac
1027 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
1028 - chromium-browser.png
1029 - done
1030 -
1031 - # Install desktop entry
1032 - domenu out/Release/chromium-browser-chromium.desktop
1033 -
1034 - # Install GNOME default application entry (bug #303100).
1035 - insinto /usr/share/gnome-control-center/default-apps
1036 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
1037 -
1038 - # Install manpage; bug #684550
1039 - doman out/Release/chromium-browser.1
1040 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1
1041 -
1042 - readme.gentoo_create_doc
1043 -}
1044 -
1045 -pkg_postrm() {
1046 - xdg_icon_cache_update
1047 - xdg_desktop_database_update
1048 -}
1049 -
1050 -pkg_postinst() {
1051 - xdg_icon_cache_update
1052 - xdg_desktop_database_update
1053 - readme.gentoo_print_elog
1054 -
1055 - if ! use headless; then
1056 - if use vaapi; then
1057 - elog "VA-API is disabled by default at runtime. You have to enable it"
1058 - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
1059 - elog "in /etc/chromium/default."
1060 - fi
1061 - if use screencast; then
1062 - elog "Screencast is disabled by default at runtime. Either enable it"
1063 - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
1064 - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
1065 - elog "to CHROMIUM_FLAGS in /etc/chromium/default."
1066 - fi
1067 - if use gtk4; then
1068 - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
1069 - elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
1070 - elog "to CHROMIUM_FLAGS in /etc/chromium/default."
1071 - fi
1072 - fi
1073 -}
1074
1075 diff --git a/www-client/chromium/chromium-102.0.5005.61.ebuild b/www-client/chromium/chromium-102.0.5005.61.ebuild
1076 deleted file mode 100644
1077 index b6f0dd7d6b30..000000000000
1078 --- a/www-client/chromium/chromium-102.0.5005.61.ebuild
1079 +++ /dev/null
1080 @@ -1,1029 +0,0 @@
1081 -# Copyright 2009-2022 Gentoo Authors
1082 -# Distributed under the terms of the GNU General Public License v2
1083 -
1084 -EAPI=8
1085 -PYTHON_COMPAT=( python3_{8..10} )
1086 -PYTHON_REQ_USE="xml"
1087 -
1088 -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
1089 - 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
1090 - sv sw ta te th tr uk ur vi zh-CN zh-TW"
1091 -
1092 -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
1093 -
1094 -DESCRIPTION="Open-source version of Google Chrome web browser"
1095 -HOMEPAGE="https://chromium.org/"
1096 -PATCHSET="6"
1097 -PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
1098 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
1099 - https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
1100 -
1101 -LICENSE="BSD"
1102 -SLOT="0/stable"
1103 -KEYWORDS="amd64 arm64"
1104 -IUSE="component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine"
1105 -REQUIRED_USE="
1106 - component-build? ( !suid !libcxx )
1107 - screencast? ( wayland )
1108 -"
1109 -
1110 -COMMON_X_DEPEND="
1111 - x11-libs/gdk-pixbuf:2
1112 - x11-libs/libXcomposite:=
1113 - x11-libs/libXcursor:=
1114 - x11-libs/libXdamage:=
1115 - x11-libs/libXfixes:=
1116 - >=x11-libs/libXi-1.6.0:=
1117 - x11-libs/libXrandr:=
1118 - x11-libs/libXrender:=
1119 - x11-libs/libXtst:=
1120 - x11-libs/libxshmfence:=
1121 - virtual/opengl
1122 -"
1123 -
1124 -COMMON_SNAPSHOT_DEPEND="
1125 - system-icu? ( >=dev-libs/icu-69.1:= )
1126 - >=dev-libs/libxml2-2.9.4-r3:=[icu]
1127 - dev-libs/nspr:=
1128 - >=dev-libs/nss-3.26:=
1129 - !libcxx? ( >=dev-libs/re2-0.2019.08.01:= )
1130 - dev-libs/libxslt:=
1131 - media-libs/fontconfig:=
1132 - >=media-libs/freetype-2.11.0-r1:=
1133 - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
1134 - media-libs/libjpeg-turbo:=
1135 - system-png? ( media-libs/libpng:=[-apng] )
1136 - >=media-libs/libwebp-0.4.0:=
1137 - media-libs/mesa:=[gbm(+)]
1138 - >=media-libs/openh264-1.6.0:=
1139 - sys-libs/zlib:=
1140 - x11-libs/libdrm:=
1141 - !headless? (
1142 - dev-libs/glib:2
1143 - >=media-libs/alsa-lib-1.0.19:=
1144 - pulseaudio? ( media-sound/pulseaudio:= )
1145 - sys-apps/pciutils:=
1146 - kerberos? ( virtual/krb5 )
1147 - vaapi? ( >=x11-libs/libva-2.7:=[X] )
1148 - x11-libs/libX11:=
1149 - x11-libs/libXext:=
1150 - x11-libs/libxcb:=
1151 - x11-libs/libxkbcommon:=
1152 - wayland? (
1153 - dev-libs/wayland:=
1154 - screencast? ( media-video/pipewire:= )
1155 - )
1156 - )
1157 -"
1158 -
1159 -COMMON_DEPEND="
1160 - ${COMMON_SNAPSHOT_DEPEND}
1161 - app-arch/bzip2:=
1162 - dev-libs/expat:=
1163 - system-ffmpeg? (
1164 - >=media-video/ffmpeg-4.3:=
1165 - || (
1166 - media-video/ffmpeg[-samba]
1167 - >=net-fs/samba-4.5.10-r1[-debug(-)]
1168 - )
1169 - >=media-libs/opus-1.3.1:=
1170 - )
1171 - net-misc/curl[ssl]
1172 - sys-apps/dbus:=
1173 - media-libs/flac:=
1174 - sys-libs/zlib:=[minizip]
1175 - !headless? (
1176 - ${COMMON_X_DEPEND}
1177 - >=app-accessibility/at-spi2-atk-2.26:2
1178 - >=app-accessibility/at-spi2-core-2.26:2
1179 - >=dev-libs/atk-2.26
1180 - cups? ( >=net-print/cups-1.3.11:= )
1181 - virtual/udev
1182 - x11-libs/cairo:=
1183 - x11-libs/pango:=
1184 - )
1185 -"
1186 -RDEPEND="${COMMON_DEPEND}
1187 - !headless? (
1188 - || (
1189 - x11-libs/gtk+:3[X,wayland?]
1190 - gui-libs/gtk:4[X,wayland?]
1191 - )
1192 - )
1193 - x11-misc/xdg-utils
1194 - virtual/ttf-fonts
1195 - selinux? ( sec-policy/selinux-chromium )
1196 -"
1197 -DEPEND="${COMMON_DEPEND}
1198 - !headless? (
1199 - gtk4? ( gui-libs/gtk:4[X,wayland?] )
1200 - !gtk4? ( x11-libs/gtk+:3[X,wayland?] )
1201 - )
1202 -"
1203 -BDEPEND="
1204 - ${COMMON_SNAPSHOT_DEPEND}
1205 - ${PYTHON_DEPS}
1206 - $(python_gen_any_dep '
1207 - dev-python/setuptools[${PYTHON_USEDEP}]
1208 - ')
1209 - >=app-arch/gzip-1.7
1210 - libcxx? ( >=sys-devel/clang-12 )
1211 - dev-lang/perl
1212 - >=dev-util/gn-0.1807
1213 - >=dev-util/gperf-3.0.3
1214 - >=dev-util/ninja-1.7.2
1215 - dev-vcs/git
1216 - >=net-libs/nodejs-7.6.0[inspector]
1217 - >=sys-devel/bison-2.4.3
1218 - sys-devel/flex
1219 - virtual/pkgconfig
1220 - js-type-check? ( virtual/jre )
1221 -"
1222 -
1223 -# These are intended for ebuild maintainer use to force clang if GCC is broken.
1224 -: ${CHROMIUM_FORCE_CLANG=no}
1225 -
1226 -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
1227 - BDEPEND+=" >=sys-devel/clang-12"
1228 -fi
1229 -
1230 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
1231 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
1232 -fi
1233 -
1234 -DISABLE_AUTOFORMATTING="yes"
1235 -DOC_CONTENTS="
1236 -Some web pages may require additional fonts to display properly.
1237 -Try installing some of the following packages if some characters
1238 -are not displayed properly:
1239 -- media-fonts/arphicfonts
1240 -- media-fonts/droid
1241 -- media-fonts/ipamonafont
1242 -- media-fonts/noto
1243 -- media-fonts/ja-ipafonts
1244 -- media-fonts/takao-fonts
1245 -- media-fonts/wqy-microhei
1246 -- media-fonts/wqy-zenhei
1247 -
1248 -To fix broken icons on the Downloads page, you should install an icon
1249 -theme that covers the appropriate MIME types, and configure this as your
1250 -GTK+ icon theme.
1251 -
1252 -For native file dialogs in KDE, install kde-apps/kdialog.
1253 -
1254 -To make password storage work with your desktop environment you may
1255 -have install one of the supported credentials management applications:
1256 -- app-crypt/libsecret (GNOME)
1257 -- kde-frameworks/kwallet (KDE)
1258 -If you have one of above packages installed, but don't want to use
1259 -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
1260 -in /etc/chromium/default.
1261 -"
1262 -
1263 -python_check_deps() {
1264 - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
1265 -}
1266 -
1267 -pre_build_checks() {
1268 - if [[ ${MERGE_TYPE} != binary ]]; then
1269 - local -x CPP="$(tc-getCXX) -E"
1270 - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
1271 - die "At least gcc 9.2 is required"
1272 - fi
1273 - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang || use libcxx; then
1274 - tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++
1275 - CPP+=" -E"
1276 - if ! ver_test "$(clang-major-version)" -ge 12; then
1277 - die "At least clang 12 is required"
1278 - fi
1279 - fi
1280 - fi
1281 -
1282 - # Check build requirements, bug #541816 and bug #471810 .
1283 - CHECKREQS_MEMORY="4G"
1284 - CHECKREQS_DISK_BUILD="10G"
1285 - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="13G"
1286 - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
1287 - if use custom-cflags || use component-build; then
1288 - CHECKREQS_DISK_BUILD="25G"
1289 - fi
1290 - if ! use component-build; then
1291 - CHECKREQS_MEMORY="16G"
1292 - fi
1293 - fi
1294 - check-reqs_pkg_setup
1295 -}
1296 -
1297 -pkg_pretend() {
1298 - pre_build_checks
1299 -
1300 - if use headless; then
1301 - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland")
1302 - for myiuse in ${headless_unused_flags[@]}; do
1303 - use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set."
1304 - done
1305 - fi
1306 -}
1307 -
1308 -pkg_setup() {
1309 - pre_build_checks
1310 -
1311 - chromium_suid_sandbox_check_kernel_config
1312 -
1313 - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams
1314 - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then
1315 - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable"
1316 - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default."
1317 - fi
1318 -}
1319 -
1320 -src_prepare() {
1321 - # Calling this here supports resumption via FEATURES=keepwork
1322 - python_setup
1323 -
1324 - local PATCHES=(
1325 - "${WORKDIR}/patches"
1326 - "${FILESDIR}/chromium-93-InkDropHost-crash.patch"
1327 - "${FILESDIR}/chromium-97-arm-tflite-cast.patch"
1328 - "${FILESDIR}/chromium-98-EnumTable-crash.patch"
1329 - "${FILESDIR}/chromium-98-gtk4-build.patch"
1330 - "${FILESDIR}/chromium-101-libxml-unbundle.patch"
1331 - "${FILESDIR}/chromium-102-i3-tab-dragging-fix.patch"
1332 - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
1333 - "${FILESDIR}/chromium-shim_headers.patch"
1334 - "${FILESDIR}/chromium-cross-compile.patch"
1335 - )
1336 -
1337 - default
1338 -
1339 - mkdir -p third_party/node/linux/node-linux-x64/bin || die
1340 - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
1341 -
1342 - # adjust python interpreter version
1343 - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
1344 -
1345 - local keeplibs=(
1346 - base/third_party/cityhash
1347 - base/third_party/double_conversion
1348 - base/third_party/dynamic_annotations
1349 - base/third_party/icu
1350 - base/third_party/nspr
1351 - base/third_party/superfasthash
1352 - base/third_party/symbolize
1353 - base/third_party/valgrind
1354 - base/third_party/xdg_mime
1355 - base/third_party/xdg_user_dirs
1356 - buildtools/third_party/libc++
1357 - buildtools/third_party/libc++abi
1358 - chrome/third_party/mozilla_security_manager
1359 - courgette/third_party
1360 - net/third_party/mozilla_security_manager
1361 - net/third_party/nss
1362 - net/third_party/quic
1363 - net/third_party/uri_template
1364 - third_party/abseil-cpp
1365 - third_party/angle
1366 - third_party/angle/src/common/third_party/base
1367 - third_party/angle/src/common/third_party/smhasher
1368 - third_party/angle/src/common/third_party/xxhash
1369 - third_party/angle/src/third_party/libXNVCtrl
1370 - third_party/angle/src/third_party/trace_event
1371 - third_party/angle/src/third_party/volk
1372 - third_party/apple_apsl
1373 - third_party/axe-core
1374 - third_party/blink
1375 - third_party/boringssl
1376 - third_party/boringssl/src/third_party/fiat
1377 - third_party/breakpad
1378 - third_party/breakpad/breakpad/src/third_party/curl
1379 - third_party/brotli
1380 - third_party/catapult
1381 - third_party/catapult/common/py_vulcanize/third_party/rcssmin
1382 - third_party/catapult/common/py_vulcanize/third_party/rjsmin
1383 - third_party/catapult/third_party/beautifulsoup4-4.9.3
1384 - third_party/catapult/third_party/html5lib-1.1
1385 - third_party/catapult/third_party/polymer
1386 - third_party/catapult/third_party/six
1387 - third_party/catapult/tracing/third_party/d3
1388 - third_party/catapult/tracing/third_party/gl-matrix
1389 - third_party/catapult/tracing/third_party/jpeg-js
1390 - third_party/catapult/tracing/third_party/jszip
1391 - third_party/catapult/tracing/third_party/mannwhitneyu
1392 - third_party/catapult/tracing/third_party/oboe
1393 - third_party/catapult/tracing/third_party/pako
1394 - third_party/ced
1395 - third_party/cld_3
1396 - third_party/closure_compiler
1397 - third_party/crashpad
1398 - third_party/crashpad/crashpad/third_party/lss
1399 - third_party/crashpad/crashpad/third_party/zlib
1400 - third_party/crc32c
1401 - third_party/cros_system_api
1402 - third_party/dav1d
1403 - third_party/dawn
1404 - third_party/dawn/third_party/gn/webgpu-cts
1405 - third_party/dawn/third_party/khronos
1406 - third_party/depot_tools
1407 - third_party/devscripts
1408 - third_party/devtools-frontend
1409 - third_party/devtools-frontend/src/front_end/third_party/acorn
1410 - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
1411 - third_party/devtools-frontend/src/front_end/third_party/axe-core
1412 - third_party/devtools-frontend/src/front_end/third_party/chromium
1413 - third_party/devtools-frontend/src/front_end/third_party/codemirror
1414 - third_party/devtools-frontend/src/front_end/third_party/diff
1415 - third_party/devtools-frontend/src/front_end/third_party/i18n
1416 - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
1417 - third_party/devtools-frontend/src/front_end/third_party/lighthouse
1418 - third_party/devtools-frontend/src/front_end/third_party/lit-html
1419 - third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
1420 - third_party/devtools-frontend/src/front_end/third_party/marked
1421 - third_party/devtools-frontend/src/front_end/third_party/puppeteer
1422 - third_party/devtools-frontend/src/front_end/third_party/wasmparser
1423 - third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
1424 - third_party/devtools-frontend/src/third_party
1425 - third_party/distributed_point_functions
1426 - third_party/dom_distiller_js
1427 - third_party/eigen3
1428 - third_party/emoji-segmenter
1429 - third_party/farmhash
1430 - third_party/fdlibm
1431 - third_party/fft2d
1432 - third_party/flatbuffers
1433 - third_party/freetype
1434 - third_party/fusejs
1435 - third_party/highway
1436 - third_party/libgifcodec
1437 - third_party/liburlpattern
1438 - third_party/libzip
1439 - third_party/gemmlowp
1440 - third_party/google_input_tools
1441 - third_party/google_input_tools/third_party/closure_library
1442 - third_party/google_input_tools/third_party/closure_library/third_party/closure
1443 - third_party/googletest
1444 - third_party/hunspell
1445 - third_party/iccjpeg
1446 - third_party/inspector_protocol
1447 - third_party/jinja2
1448 - third_party/jsoncpp
1449 - third_party/jstemplate
1450 - third_party/khronos
1451 - third_party/leveldatabase
1452 - third_party/libaddressinput
1453 - third_party/libaom
1454 - third_party/libaom/source/libaom/third_party/fastfeat
1455 - third_party/libaom/source/libaom/third_party/vector
1456 - third_party/libaom/source/libaom/third_party/x86inc
1457 - third_party/libavif
1458 - third_party/libgav1
1459 - third_party/libjingle
1460 - third_party/libjxl
1461 - third_party/libphonenumber
1462 - third_party/libsecret
1463 - third_party/libsrtp
1464 - third_party/libsync
1465 - third_party/libudev
1466 - third_party/libva_protected_content
1467 - third_party/libvpx
1468 - third_party/libvpx/source/libvpx/third_party/x86inc
1469 - third_party/libwebm
1470 - third_party/libx11
1471 - third_party/libxcb-keysyms
1472 - third_party/libxml/chromium
1473 - third_party/libyuv
1474 - third_party/llvm
1475 - third_party/lottie
1476 - third_party/lss
1477 - third_party/lzma_sdk
1478 - third_party/mako
1479 - third_party/maldoca
1480 - third_party/maldoca/src/third_party/tensorflow_protos
1481 - third_party/maldoca/src/third_party/zlibwrapper
1482 - third_party/markupsafe
1483 - third_party/mesa
1484 - third_party/metrics_proto
1485 - third_party/minigbm
1486 - third_party/modp_b64
1487 - third_party/nasm
1488 - third_party/nearby
1489 - third_party/neon_2_sse
1490 - third_party/node
1491 - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
1492 - third_party/one_euro_filter
1493 - third_party/openscreen
1494 - third_party/openscreen/src/third_party/mozilla
1495 - third_party/openscreen/src/third_party/tinycbor/src/src
1496 - third_party/ots
1497 - third_party/pdfium
1498 - third_party/pdfium/third_party/agg23
1499 - third_party/pdfium/third_party/base
1500 - third_party/pdfium/third_party/bigint
1501 - third_party/pdfium/third_party/freetype
1502 - third_party/pdfium/third_party/lcms
1503 - third_party/pdfium/third_party/libopenjpeg20
1504 - third_party/pdfium/third_party/libpng16
1505 - third_party/pdfium/third_party/libtiff
1506 - third_party/pdfium/third_party/skia_shared
1507 - third_party/perfetto
1508 - third_party/perfetto/protos/third_party/chromium
1509 - third_party/pffft
1510 - third_party/ply
1511 - third_party/polymer
1512 - third_party/private-join-and-compute
1513 - third_party/private_membership
1514 - third_party/protobuf
1515 - third_party/protobuf/third_party/six
1516 - third_party/pyjson5
1517 - third_party/qcms
1518 - third_party/rnnoise
1519 - third_party/s2cellid
1520 - third_party/securemessage
1521 - third_party/shell-encryption
1522 - third_party/simplejson
1523 - third_party/skia
1524 - third_party/skia/include/third_party/skcms
1525 - third_party/skia/include/third_party/vulkan
1526 - third_party/skia/third_party/skcms
1527 - third_party/skia/third_party/vulkan
1528 - third_party/smhasher
1529 - third_party/snappy
1530 - third_party/sqlite
1531 - third_party/swiftshader
1532 - third_party/swiftshader/third_party/astc-encoder
1533 - third_party/swiftshader/third_party/llvm-subzero
1534 - third_party/swiftshader/third_party/marl
1535 - third_party/swiftshader/third_party/subzero
1536 - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
1537 - third_party/swiftshader/third_party/SPIRV-Tools
1538 - third_party/tensorflow-text
1539 - third_party/tflite
1540 - third_party/tflite/src/third_party/eigen3
1541 - third_party/tflite/src/third_party/fft2d
1542 - third_party/ruy
1543 - third_party/six
1544 - third_party/ukey2
1545 - third_party/unrar
1546 - third_party/utf
1547 - third_party/vulkan
1548 - third_party/web-animations-js
1549 - third_party/webdriver
1550 - third_party/webgpu-cts
1551 - third_party/webrtc
1552 - third_party/webrtc/common_audio/third_party/ooura
1553 - third_party/webrtc/common_audio/third_party/spl_sqrt_floor
1554 - third_party/webrtc/modules/third_party/fft
1555 - third_party/webrtc/modules/third_party/g711
1556 - third_party/webrtc/modules/third_party/g722
1557 - third_party/webrtc/rtc_base/third_party/base64
1558 - third_party/webrtc/rtc_base/third_party/sigslot
1559 - third_party/widevine
1560 - third_party/woff2
1561 - third_party/wuffs
1562 - third_party/x11proto
1563 - third_party/xcbproto
1564 - third_party/zxcvbn-cpp
1565 - third_party/zlib/google
1566 - url/third_party/mozilla
1567 - v8/src/third_party/siphash
1568 - v8/src/third_party/valgrind
1569 - v8/src/third_party/utf8-decoder
1570 - v8/third_party/inspector_protocol
1571 - v8/third_party/v8
1572 -
1573 - # gyp -> gn leftovers
1574 - base/third_party/libevent
1575 - third_party/speech-dispatcher
1576 - third_party/usb_ids
1577 - third_party/xdg-utils
1578 - )
1579 - if ! use system-ffmpeg; then
1580 - keeplibs+=( third_party/ffmpeg third_party/opus )
1581 - fi
1582 - if ! use system-icu; then
1583 - keeplibs+=( third_party/icu )
1584 - fi
1585 - if ! use system-png; then
1586 - keeplibs+=( third_party/libpng )
1587 - fi
1588 - if use libcxx; then
1589 - keeplibs+=( third_party/re2 )
1590 - fi
1591 - if use system-harfbuzz; then
1592 - keeplibs+=( third_party/harfbuzz-ng/utils )
1593 - else
1594 - keeplibs+=( third_party/harfbuzz-ng )
1595 - fi
1596 - if use wayland && ! use headless ; then
1597 - keeplibs+=( third_party/wayland )
1598 - fi
1599 - if use arm64 || use ppc64 ; then
1600 - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
1601 - fi
1602 - # we need to generate ppc64 stuff because upstream does not ship it yet
1603 - # it has to be done before unbundling.
1604 - if use ppc64; then
1605 - pushd third_party/libvpx >/dev/null || die
1606 - mkdir -p source/config/linux/ppc64 || die
1607 - # requires git and clang, bug #832803
1608 - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \
1609 - generate_gni.sh || die
1610 - ./generate_gni.sh || die
1611 - popd >/dev/null || die
1612 -
1613 - pushd third_party/ffmpeg >/dev/null || die
1614 - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
1615 - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
1616 - popd >/dev/null || die
1617 - fi
1618 -
1619 - # Remove most bundled libraries. Some are still needed.
1620 - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
1621 -
1622 - if use js-type-check; then
1623 - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die
1624 - fi
1625 -
1626 - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
1627 - mkdir -p buildtools/third_party/eu-strip/bin || die
1628 - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
1629 -}
1630 -
1631 -src_configure() {
1632 - # Calling this here supports resumption via FEATURES=keepwork
1633 - python_setup
1634 -
1635 - local myconf_gn=""
1636 -
1637 - # Make sure the build system will use the right tools, bug #340795.
1638 - tc-export AR CC CXX NM
1639 -
1640 - if { [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx; } && ! tc-is-clang; then
1641 - # Force clang since gcc is either broken or build is using libcxx.
1642 - if tc-is-cross-compiler; then
1643 - CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
1644 - CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
1645 - BUILD_CC=${CBUILD}-clang
1646 - BUILD_CXX=${CBUILD}-clang++
1647 - else
1648 - CC=${CHOST}-clang
1649 - CXX=${CHOST}-clang++
1650 - fi
1651 - strip-unsupported-flags
1652 - fi
1653 -
1654 - if tc-is-clang || use libcxx; then
1655 - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
1656 - else
1657 - myconf_gn+=" is_clang=false"
1658 - fi
1659 -
1660 - # Define a custom toolchain for GN
1661 - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
1662 -
1663 - if tc-is-cross-compiler; then
1664 - tc-export BUILD_{AR,CC,CXX,NM}
1665 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
1666 - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
1667 - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
1668 - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
1669 -
1670 - # setup cups-config, build system only uses --libs option
1671 - if use cups; then
1672 - mkdir "${T}/cups-config" || die
1673 - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
1674 - export PATH="${PATH}:${T}/cups-config"
1675 - fi
1676 -
1677 - # Don't inherit PKG_CONFIG_PATH from environment
1678 - local -x PKG_CONFIG_PATH=
1679 - else
1680 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
1681 - fi
1682 -
1683 - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
1684 - myconf_gn+=" is_debug=false"
1685 -
1686 - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
1687 - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
1688 - myconf_gn+=" dcheck_always_on=$(usex debug true false)"
1689 - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
1690 -
1691 - # Component build isn't generally intended for use by end users. It's mostly useful
1692 - # for development and debugging.
1693 - myconf_gn+=" is_component_build=$(usex component-build true false)"
1694 -
1695 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
1696 - myconf_gn+=" enable_nacl=false"
1697 -
1698 - # Use system-provided libraries.
1699 - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
1700 - # TODO: use_system_hunspell (upstream changes needed).
1701 - # TODO: use_system_protobuf (bug #525560).
1702 - # TODO: use_system_sqlite (http://crbug.com/22208).
1703 -
1704 - # libevent: https://bugs.gentoo.org/593458
1705 - local gn_system_libraries=(
1706 - flac
1707 - fontconfig
1708 - freetype
1709 - # Need harfbuzz_from_pkgconfig target
1710 - #harfbuzz-ng
1711 - libdrm
1712 - libjpeg
1713 - libwebp
1714 - libxml
1715 - libxslt
1716 - openh264
1717 - zlib
1718 - )
1719 - if use system-ffmpeg; then
1720 - gn_system_libraries+=( ffmpeg opus )
1721 - fi
1722 - if use system-icu; then
1723 - gn_system_libraries+=( icu )
1724 - fi
1725 - if use system-png; then
1726 - gn_system_libraries+=( libpng )
1727 - fi
1728 - # re2 library interface relies on std::string and std::vector
1729 - if ! use libcxx; then
1730 - gn_system_libraries+=( re2 )
1731 - fi
1732 - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
1733 -
1734 - # See dependency logic in third_party/BUILD.gn
1735 - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
1736 -
1737 - # Disable deprecated libgnome-keyring dependency, bug #713012
1738 - myconf_gn+=" use_gnome_keyring=false"
1739 -
1740 - # Optional dependencies.
1741 - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)"
1742 - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
1743 - myconf_gn+=" enable_widevine=$(usex widevine true false)"
1744 -
1745 - if use headless; then
1746 - myconf_gn+=" use_cups=false"
1747 - myconf_gn+=" use_kerberos=false"
1748 - myconf_gn+=" use_pulseaudio=false"
1749 - myconf_gn+=" use_vaapi=false"
1750 - myconf_gn+=" rtc_use_pipewire=false"
1751 - else
1752 - myconf_gn+=" use_cups=$(usex cups true false)"
1753 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
1754 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
1755 - myconf_gn+=" use_vaapi=$(usex vaapi true false)"
1756 - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
1757 - myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
1758 - fi
1759 -
1760 - # TODO: link_pulseaudio=true for GN.
1761 -
1762 - myconf_gn+=" disable_fieldtrial_testing_config=true"
1763 -
1764 - # Never use bundled gold binary. Disable gold linker flags for now.
1765 - # Do not use bundled clang.
1766 - # Trying to use gold results in linker crash.
1767 - myconf_gn+=" use_gold=false use_sysroot=false"
1768 - myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)"
1769 -
1770 - # Disable forced lld, bug 641556
1771 - myconf_gn+=" use_lld=false"
1772 -
1773 - # Disable pseudolocales, only used for testing
1774 - myconf_gn+=" enable_pseudolocales=false"
1775 -
1776 - # Disable code formating of generated files
1777 - myconf_gn+=" blink_enable_generated_code_formatting=false"
1778 -
1779 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
1780 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
1781 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
1782 -
1783 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
1784 - # Note: these are for Gentoo use ONLY. For your own distribution,
1785 - # please get your own set of keys. Feel free to contact chromium@g.o
1786 - # for more info. The OAuth2 credentials, however, have been left out.
1787 - # Those OAuth2 credentials have been broken for quite some time anyway.
1788 - # Instead we apply a patch to use the --oauth2-client-id= and
1789 - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
1790 - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
1791 - # Chromium without baked-in values.
1792 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
1793 - myconf_gn+=" google_api_key=\"${google_api_key}\""
1794 - local myarch="$(tc-arch)"
1795 -
1796 - # Avoid CFLAGS problems, bug #352457, bug #390147.
1797 - if ! use custom-cflags; then
1798 - replace-flags "-Os" "-O2"
1799 - strip-flags
1800 -
1801 - # Debug info section overflows without component build
1802 - # Prevent linker from running out of address space, bug #471810 .
1803 - if ! use component-build || use x86; then
1804 - filter-flags "-g*"
1805 - fi
1806 -
1807 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
1808 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
1809 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4
1810 - fi
1811 - fi
1812 -
1813 - if [[ $myarch = amd64 ]] ; then
1814 - myconf_gn+=" target_cpu=\"x64\""
1815 - ffmpeg_target_arch=x64
1816 - elif [[ $myarch = x86 ]] ; then
1817 - myconf_gn+=" target_cpu=\"x86\""
1818 - ffmpeg_target_arch=ia32
1819 -
1820 - # This is normally defined by compiler_cpu_abi in
1821 - # build/config/compiler/BUILD.gn, but we patch that part out.
1822 - append-flags -msse2 -mfpmath=sse -mmmx
1823 - elif [[ $myarch = arm64 ]] ; then
1824 - myconf_gn+=" target_cpu=\"arm64\""
1825 - ffmpeg_target_arch=arm64
1826 - elif [[ $myarch = arm ]] ; then
1827 - myconf_gn+=" target_cpu=\"arm\""
1828 - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
1829 - elif [[ $myarch = ppc64 ]] ; then
1830 - myconf_gn+=" target_cpu=\"ppc64\""
1831 - ffmpeg_target_arch=ppc64
1832 - else
1833 - die "Failed to determine target arch, got '$myarch'."
1834 - fi
1835 -
1836 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
1837 - # Depending on GCC version the warnings are different and we don't want
1838 - # the build to fail because of that.
1839 - myconf_gn+=" treat_warnings_as_errors=false"
1840 -
1841 - # Disable fatal linker warnings, bug 506268.
1842 - myconf_gn+=" fatal_linker_warnings=false"
1843 -
1844 - # Disable external code space for V8 for ppc64. It is disabled for ppc64
1845 - # by default, but cross-compiling on amd64 enables it again.
1846 - if tc-is-cross-compiler; then
1847 - if ! use amd64 && ! use arm64; then
1848 - myconf_gn+=" v8_enable_external_code_space=false"
1849 - fi
1850 - fi
1851 -
1852 - # Bug 491582.
1853 - export TMPDIR="${WORKDIR}/temp"
1854 - mkdir -p -m 755 "${TMPDIR}" || die
1855 -
1856 - # https://bugs.gentoo.org/654216
1857 - addpredict /dev/dri/ #nowarn
1858 -
1859 - #if ! use system-ffmpeg; then
1860 - if false; then
1861 - local build_ffmpeg_args=""
1862 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
1863 - build_ffmpeg_args+=" --disable-asm"
1864 - fi
1865 -
1866 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
1867 - einfo "Configuring bundled ffmpeg..."
1868 - pushd third_party/ffmpeg > /dev/null || die
1869 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
1870 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
1871 - chromium/scripts/copy_config.sh || die
1872 - chromium/scripts/generate_gn.py || die
1873 - popd > /dev/null || die
1874 - fi
1875 -
1876 - # Disable unknown warning message from clang.
1877 - if tc-is-clang; then
1878 - append-flags -Wno-unknown-warning-option
1879 - if tc-is-cross-compiler; then
1880 - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
1881 - export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
1882 - fi
1883 - fi
1884 -
1885 - # Explicitly disable ICU data file support for system-icu/headless builds.
1886 - if use system-icu || use headless; then
1887 - myconf_gn+=" icu_use_data_file=false"
1888 - fi
1889 -
1890 - # Enable ozone wayland and/or headless support
1891 - myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
1892 - myconf_gn+=" ozone_platform_headless=true"
1893 - myconf_gn+=" ozone_platform_x11=$(usex headless false true)"
1894 - if use wayland || use headless; then
1895 - if use headless; then
1896 - myconf_gn+=" ozone_platform=\"headless\""
1897 - myconf_gn+=" use_xkbcommon=false use_gtk=false"
1898 - myconf_gn+=" use_glib=false use_gio=false"
1899 - myconf_gn+=" use_pangocairo=false use_alsa=false"
1900 - myconf_gn+=" use_libpci=false use_udev=false"
1901 - myconf_gn+=" enable_print_preview=false"
1902 - myconf_gn+=" enable_remoting=false"
1903 - else
1904 - myconf_gn+=" ozone_platform_wayland=true"
1905 - myconf_gn+=" use_system_libdrm=true"
1906 - myconf_gn+=" use_system_minigbm=true"
1907 - myconf_gn+=" use_xkbcommon=true"
1908 - myconf_gn+=" ozone_platform=\"wayland\""
1909 - fi
1910 - else
1911 - myconf_gn+=" ozone_platform=\"x11\""
1912 - fi
1913 -
1914 - # Results in undefined references in chrome linking, may require CFI to work
1915 - if use arm64; then
1916 - myconf_gn+=" arm_control_flow_integrity=\"none\""
1917 - fi
1918 -
1919 - # Enable official builds
1920 - myconf_gn+=" is_official_build=$(usex official true false)"
1921 - myconf_gn+=" use_thin_lto=false"
1922 - if use official; then
1923 - # Allow building against system libraries in official builds
1924 - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
1925 - tools/generate_shim_headers/generate_shim_headers.py || die
1926 - # Disable CFI: unsupported for GCC, requires clang+lto+lld
1927 - myconf_gn+=" is_cfi=false"
1928 - # Disable PGO, because profile data is only compatible with >=clang-11
1929 - myconf_gn+=" chrome_pgo_phase=0"
1930 - # Don't add symbols to build
1931 - myconf_gn+=" symbol_level=0"
1932 - fi
1933 -
1934 - einfo "Configuring Chromium..."
1935 - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
1936 - echo "$@"
1937 - "$@" || die
1938 -}
1939 -
1940 -src_compile() {
1941 - # Final link uses lots of file descriptors.
1942 - ulimit -n 2048
1943 -
1944 - # Calling this here supports resumption via FEATURES=keepwork
1945 - python_setup
1946 -
1947 - # Don't inherit PYTHONPATH from environment, bug #789021, #812689
1948 - local -x PYTHONPATH=
1949 -
1950 - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
1951 -
1952 - # Build mksnapshot and pax-mark it.
1953 - local x
1954 - for x in mksnapshot v8_context_snapshot_generator; do
1955 - if tc-is-cross-compiler; then
1956 - eninja -C out/Release "host/${x}"
1957 - pax-mark m "out/Release/host/${x}"
1958 - else
1959 - eninja -C out/Release "${x}"
1960 - pax-mark m "out/Release/${x}"
1961 - fi
1962 - done
1963 -
1964 - # Even though ninja autodetects number of CPUs, we respect
1965 - # user's options, for debugging with -j 1 or any other reason.
1966 - eninja -C out/Release chrome chromedriver
1967 - use suid && eninja -C out/Release chrome_sandbox
1968 -
1969 - pax-mark m out/Release/chrome
1970 -
1971 - mv out/Release/chromedriver{.unstripped,} || die
1972 -
1973 - # Build manpage; bug #684550
1974 - sed -e 's|@@PACKAGE@@|chromium-browser|g;
1975 - s|@@MENUNAME@@|Chromium|g;' \
1976 - chrome/app/resources/manpage.1.in > \
1977 - out/Release/chromium-browser.1 || die
1978 -
1979 - # Build desktop file; bug #706786
1980 - sed -e 's|@@MENUNAME@@|Chromium|g;
1981 - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
1982 - s|@@PACKAGE@@|chromium-browser|g;
1983 - s|\(^Exec=\)/usr/bin/|\1|g;' \
1984 - chrome/installer/linux/common/desktop.template > \
1985 - out/Release/chromium-browser-chromium.desktop || die
1986 -
1987 - # Build vk_swiftshader_icd.json; bug #827861
1988 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
1989 - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
1990 - out/Release/vk_swiftshader_icd.json || die
1991 -}
1992 -
1993 -src_install() {
1994 - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
1995 - exeinto "${CHROMIUM_HOME}"
1996 - doexe out/Release/chrome
1997 -
1998 - if use suid; then
1999 - newexe out/Release/chrome_sandbox chrome-sandbox
2000 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
2001 - fi
2002 -
2003 - doexe out/Release/chromedriver
2004 - doexe out/Release/chrome_crashpad_handler
2005 -
2006 - ozone_auto_session () {
2007 - use wayland && ! use headless && echo true || echo false
2008 - }
2009 - local sedargs=( -e
2010 - "s:/usr/lib/:/usr/$(get_libdir)/:g;
2011 - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
2012 - )
2013 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
2014 - doexe chromium-launcher.sh
2015 -
2016 - # It is important that we name the target "chromium-browser",
2017 - # xdg-utils expect it; bug #355517.
2018 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
2019 - # keep the old symlink around for consistency
2020 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
2021 -
2022 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
2023 -
2024 - # Allow users to override command-line options, bug #357629.
2025 - insinto /etc/chromium
2026 - newins "${FILESDIR}/chromium.default" "default"
2027 -
2028 - pushd out/Release/locales > /dev/null || die
2029 - chromium_remove_language_paks
2030 - popd
2031 -
2032 - insinto "${CHROMIUM_HOME}"
2033 - doins out/Release/*.bin
2034 - doins out/Release/*.pak
2035 - (
2036 - shopt -s nullglob
2037 - local files=(out/Release/*.so out/Release/*.so.[0-9])
2038 - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
2039 - )
2040 -
2041 - if ! use system-icu && ! use headless; then
2042 - doins out/Release/icudtl.dat
2043 - fi
2044 -
2045 - doins -r out/Release/locales
2046 - doins -r out/Release/MEIPreload
2047 -
2048 - # Install vk_swiftshader_icd.json; bug #827861
2049 - doins out/Release/vk_swiftshader_icd.json
2050 -
2051 - if [[ -d out/Release/swiftshader ]]; then
2052 - insinto "${CHROMIUM_HOME}/swiftshader"
2053 - doins out/Release/swiftshader/*.so
2054 - fi
2055 -
2056 - # Install icons
2057 - local branding size
2058 - for size in 16 24 32 48 64 128 256 ; do
2059 - case ${size} in
2060 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
2061 - *) branding="chrome/app/theme/chromium" ;;
2062 - esac
2063 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
2064 - chromium-browser.png
2065 - done
2066 -
2067 - # Install desktop entry
2068 - domenu out/Release/chromium-browser-chromium.desktop
2069 -
2070 - # Install GNOME default application entry (bug #303100).
2071 - insinto /usr/share/gnome-control-center/default-apps
2072 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
2073 -
2074 - # Install manpage; bug #684550
2075 - doman out/Release/chromium-browser.1
2076 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1
2077 -
2078 - readme.gentoo_create_doc
2079 -}
2080 -
2081 -pkg_postrm() {
2082 - xdg_icon_cache_update
2083 - xdg_desktop_database_update
2084 -}
2085 -
2086 -pkg_postinst() {
2087 - xdg_icon_cache_update
2088 - xdg_desktop_database_update
2089 - readme.gentoo_print_elog
2090 -
2091 - if ! use headless; then
2092 - if use vaapi; then
2093 - elog "VA-API is disabled by default at runtime. You have to enable it"
2094 - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
2095 - elog "in /etc/chromium/default."
2096 - fi
2097 - if use screencast; then
2098 - elog "Screencast is disabled by default at runtime. Either enable it"
2099 - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
2100 - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
2101 - elog "to CHROMIUM_FLAGS in /etc/chromium/default."
2102 - fi
2103 - if use gtk4; then
2104 - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
2105 - elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
2106 - elog "to CHROMIUM_FLAGS in /etc/chromium/default."
2107 - fi
2108 - fi
2109 -}
2110
2111 diff --git a/www-client/chromium/files/chromium-101-libxml-unbundle.patch b/www-client/chromium/files/chromium-101-libxml-unbundle.patch
2112 deleted file mode 100644
2113 index 5699bc8f8eaf..000000000000
2114 --- a/www-client/chromium/files/chromium-101-libxml-unbundle.patch
2115 +++ /dev/null
2116 @@ -1,10 +0,0 @@
2117 ---- a/build/linux/unbundle/libxml.gn
2118 -+++ b/build/linux/unbundle/libxml.gn
2119 -@@ -19,6 +19,7 @@ static_library("libxml_utils") {
2120 - ":xml_reader",
2121 - ":xml_writer",
2122 - "//base/test:test_support",
2123 -+ "//services/data_decoder:lib",
2124 - "//services/data_decoder:xml_parser_fuzzer_deps",
2125 - ]
2126 - sources = [
2127
2128 diff --git a/www-client/chromium/files/chromium-102-i3-tab-dragging-fix.patch b/www-client/chromium/files/chromium-102-i3-tab-dragging-fix.patch
2129 deleted file mode 100644
2130 index 3a6046b690a9..000000000000
2131 --- a/www-client/chromium/files/chromium-102-i3-tab-dragging-fix.patch
2132 +++ /dev/null
2133 @@ -1,70 +0,0 @@
2134 -From 95b94a2b841b624be8c0c99730f7011aa56a6a60 Mon Sep 17 00:00:00 2001
2135 -From: Tom Anderson <thomasanderson@××××××××.org>
2136 -Date: Thu, 26 May 2022 21:04:21 +0000
2137 -Subject: [PATCH] Fix x11::WindowCache::GetWindowAtPoint() in i3
2138 -
2139 -In i3, container windows have a WM_NAME, but we're interested in the
2140 -named content window. This CL changes the DFS search order to check
2141 -child windows before checking parent windows.
2142 -
2143 -R=​sky
2144 -
2145 -(cherry picked from commit 57032db2a7adea88585b1bb00a3cd6542d04285c)
2146 -
2147 -Fixed: 1316735
2148 -Change-Id: I8049552f1c0faa7dcbc3bb6b25df2324ee9bbf7a
2149 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3588704
2150 -Auto-Submit: Thomas Anderson <thomasanderson@××××××××.org>
2151 -Reviewed-by: Scott Violet <sky@××××××××.org>
2152 -Commit-Queue: Scott Violet <sky@××××××××.org>
2153 -Cr-Original-Commit-Position: refs/heads/main@{#993220}
2154 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3669471
2155 -Commit-Queue: Thomas Anderson <thomasanderson@××××××××.org>
2156 -Cr-Commit-Position: refs/branch-heads/5005@{#1031}
2157 -Cr-Branched-From: 5b4d9450fee01f821b6400e947b3839727643a71-refs/heads/main@{#992738}
2158 ----
2159 -
2160 -diff --git a/ui/gfx/x/window_cache.cc b/ui/gfx/x/window_cache.cc
2161 -index 0f1fa29..c12bea05 100644
2162 ---- a/ui/gfx/x/window_cache.cc
2163 -+++ b/ui/gfx/x/window_cache.cc
2164 -@@ -152,13 +152,13 @@
2165 - }
2166 - }
2167 -
2168 -- if (info->has_wm_name)
2169 -- return window;
2170 - for (Window child : base::Reversed(info->children)) {
2171 - Window ret = GetWindowAtPoint(point_px, child, ignore);
2172 - if (ret != Window::None)
2173 - return ret;
2174 - }
2175 -+ if (info->has_wm_name)
2176 -+ return window;
2177 - return Window::None;
2178 - }
2179 -
2180 -diff --git a/ui/gfx/x/window_cache_unittest.cc b/ui/gfx/x/window_cache_unittest.cc
2181 -index a4c2378..c88dbfd5 100644
2182 ---- a/ui/gfx/x/window_cache_unittest.cc
2183 -+++ b/ui/gfx/x/window_cache_unittest.cc
2184 -@@ -418,4 +418,19 @@
2185 - EXPECT_EQ(cache()->GetWindowAtPoint({150, 150}, root()), c);
2186 - }
2187 -
2188 -+// Regression test for https://crbug.com/1316735
2189 -+// If both a parent and child window have a WM_NAME, the child window
2190 -+// should be returned by GetWindowAtPoint().
2191 -+TEST_F(WindowCacheTest, NestedWmName) {
2192 -+ connection()->MapWindow(root());
2193 -+ SetStringProperty(root(), Atom::WM_NAME, Atom::STRING, "root");
2194 -+
2195 -+ Window a = CreateWindow(root());
2196 -+ connection()->MapWindow(a);
2197 -+ SetStringProperty(a, Atom::WM_NAME, Atom::STRING, "a");
2198 -+
2199 -+ cache()->SyncForTest();
2200 -+ EXPECT_EQ(cache()->GetWindowAtPoint({100, 100}, root()), a);
2201 -+}
2202 -+
2203 - } // namespace x11
2204
2205 diff --git a/www-client/chromium/files/chromium-97-arm-tflite-cast.patch b/www-client/chromium/files/chromium-97-arm-tflite-cast.patch
2206 deleted file mode 100644
2207 index 843a384c76d3..000000000000
2208 --- a/www-client/chromium/files/chromium-97-arm-tflite-cast.patch
2209 +++ /dev/null
2210 @@ -1,26 +0,0 @@
2211 -vreinterpret_s32_s8() casts int8x8_t to int32x2_t. However, third argument
2212 -of vdotq_lane_s32() is of type int8x8_t.
2213 -
2214 ---- a/third_party/tflite/src/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h
2215 -+++ b/third_party/tflite/src/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h
2216 -@@ -129,16 +129,14 @@ inline int32x4_t vdotq_four_lane_s32(int32x4_t acc, int8x16_t lhs,
2217 - int8x16_t rhs, const int lane) {
2218 - switch (lane) {
2219 - case 0:
2220 -- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 0);
2221 -+ return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 0);
2222 - case 1:
2223 -- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 1);
2224 -+ return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 1);
2225 - case 2:
2226 -- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)),
2227 -- 0);
2228 -+ return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 0);
2229 - case 3:
2230 - default:
2231 -- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)),
2232 -- 1);
2233 -+ return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 1);
2234 - }
2235 - }
2236 -