summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-11-16 03:02:52 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-11-16 03:02:52 +0000
commitb0735771a80a647a2ea5a03a87d5873d175bd744 (patch)
treeaed120d0dfeab57cb7f38b7a5d186b1c53ae10cd /www-client
parent57d1fe5ae0c56e604db5d29bf7b62d685c42e043 (diff)
gentoo auto-resync : 16:11:2024 - 03:02:52
Diffstat (limited to 'www-client')
-rw-r--r--www-client/Manifest.gzbin6210 -> 6208 bytes
-rw-r--r--www-client/chromium/Manifest10
-rw-r--r--www-client/chromium/chromium-131.0.6778.33.ebuild1
-rw-r--r--www-client/chromium/chromium-131.0.6778.69.ebuild1423
-rw-r--r--www-client/chromium/chromium-132.0.6821.2.ebuild1
-rw-r--r--www-client/chromium/chromium-132.0.6834.6.ebuild1434
-rw-r--r--www-client/google-chrome-beta/Manifest4
-rw-r--r--www-client/google-chrome-beta/google-chrome-beta-132.0.6834.6.ebuild (renamed from www-client/google-chrome-beta/google-chrome-beta-131.0.6778.24.ebuild)0
-rw-r--r--www-client/google-chrome-unstable/Manifest4
-rw-r--r--www-client/google-chrome-unstable/google-chrome-unstable-132.0.6821.2.ebuild (renamed from www-client/google-chrome-unstable/google-chrome-unstable-132.0.6811.2.ebuild)0
-rw-r--r--www-client/google-chrome/Manifest4
-rw-r--r--www-client/google-chrome/google-chrome-131.0.6778.69.ebuild (renamed from www-client/google-chrome/google-chrome-130.0.6723.116.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/Manifest8
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.36.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.14.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.45.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.9.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/Manifest8
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-132.0.2931.1.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-131.0.2889.0.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-132.0.2945.0.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-131.0.2903.5.ebuild)0
-rw-r--r--www-client/microsoft-edge/Manifest4
-rw-r--r--www-client/microsoft-edge/microsoft-edge-130.0.2849.80.ebuild (renamed from www-client/microsoft-edge/microsoft-edge-130.0.2849.68.ebuild)0
-rw-r--r--www-client/opera-developer/Manifest4
-rw-r--r--www-client/opera-developer/opera-developer-116.0.5351.0.ebuild (renamed from www-client/opera-developer/opera-developer-116.0.5326.0.ebuild)0
-rw-r--r--www-client/opera/Manifest4
-rw-r--r--www-client/opera/opera-114.0.5282.185.ebuild (renamed from www-client/opera/opera-114.0.5282.154.ebuild)0
24 files changed, 2887 insertions, 22 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index c6e0e1ed7451..df1d8071c283 100644
--- a/www-client/Manifest.gz
+++ b/www-client/Manifest.gz
Binary files differ
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 1209e151f6e9..48f422336920 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -18,8 +18,12 @@ DIST chromium-130.0.6723.116-gentoo.tar.xz 4699442864 BLAKE2B 571a012f449b757b6a
DIST chromium-130.0.6723.116-testdata-gentoo.tar.xz 83048 BLAKE2B d95970073cedb9dd5488886c94c0b629a0a15f248e66a409b57be89b52eececf845c3d79f6bde51f4476e927a058ee257bb6d1b3ca0332910660a6e045ccb00d SHA512 0df42b1e8a3c0be8a07d71153a8bc5fdfc59a18d574d8dfd2fd1a3e17ca197e71dfd332c02547e6b456b5037c924dbbecc4551ac1695f36181e3a9cc884ff83b
DIST chromium-131.0.6778.33-gentoo.tar.xz 4749423140 BLAKE2B b6c8988d2a69724bf57150fa55549a91cf219ad5d8f56d6cb6f82d53f05459f40b273a98b1dca7ff10497635b9523de532f71f41f5e256d6e7cc2ff6ed2107a1 SHA512 f3c098a1c018a81dbf1051569a6d9ef5dfde73836c0666e8e387bcd0268add47e6952ac6f37cca2880829a3f9eef4e31e0e2903a104735108149df7615df024c
DIST chromium-131.0.6778.33-testdata-gentoo.tar.xz 83508 BLAKE2B deb0049943e725e41b6ea40f61b43a9713ca25a900de098acaa457e9a49609d8b02f967d599ca68eb8089d98abfc78325cd265a183a045f83de21fba67489884 SHA512 87e08849514e34a22b54e580c9639b21edf5f574d3c1a25decd3db373215de214da776685ad291762a0f2b33584720cdf52fff64ed492d18955150b00861a2df
+DIST chromium-131.0.6778.69-gentoo.tar.xz 4749226080 BLAKE2B 83469461ba8965d3a47764f039dba57aa14641648f739f4fa43d52411bc207ed5d667e80f9c618234558702c8bb3125925d357a5457c898e00c1385145dc4d9d SHA512 019403b1352353204ace7fab8f8941dfe126d552ccba6e0db5bf0b0601f57373f0fbd2cb0240aee7ad821d8c6919ca25c2c0447cd4ab474d42f51ba863a80a5e
+DIST chromium-131.0.6778.69-testdata-gentoo.tar.xz 83280 BLAKE2B 1b1ebecf1cbc9c2c430b2884b928c9f1d55f22a4a1fea1303ead69fb4422681dffc9a6c8b11899feb002c1e7e80d476137689e1d8ed7d5b7e606ed78245fde95 SHA512 3dc9095e2657a5c3373d5a54a522f654cbcf039e27fb22b98fd72a486f0e5de1a4a3dfc821676de6b245009e88c281454b9dede5089457ebeb649992e8d382ca
DIST chromium-132.0.6821.2-gentoo.tar.xz 4754158496 BLAKE2B 2fb502164874d5e0ca87be465bc4737e73fc415f5111a30d4b6c5cc8c865ac1249aa394bcf31e555ae187ef11c333e5ad9440914fe3f0a33507303f9edbc6dac SHA512 b0f6ef94b201effef49a68af709f34e8c5bcfe5a4ada28605e03d9ef21b90827f548b11c4125c681d57ef517ef84690d162d36f29ee628948d8fd8ca11e279f1
DIST chromium-132.0.6821.2-testdata-gentoo.tar.xz 84172 BLAKE2B f45a5acf1c2b355eee4af59a276f2299cf8b7530daef83ebfa79079e8d772777b55628a28753f5f7f225ad1b35032f4f5f0b50d490c8a5e865f4edd37a484a6c SHA512 af0a6b6e21cdcc6413d47c5714a733bf9c4896468ee98eeeec6a91b16bff1295c8879dc82c953a23f0879b2e26b6e150df153702accd9ea05f4d27fdcabcb38c
+DIST chromium-132.0.6834.6-gentoo.tar.xz 4767675388 BLAKE2B 1fc21476f230575a819b9ae88afa5bd6e675cabd093f516c7c039bcb7340ab49e65c689c4109c14404133392487cee18956dc441a7501b1e39a1922825eb185e SHA512 bf1465d333a78323f153e0d96408b97833a914108389bac91b504a0d8a3b2230cad0c258d1d70a4414f28d5a8bb3ee179670e04cda77af64ae2932e7f8b8f40a
+DIST chromium-132.0.6834.6-testdata-gentoo.tar.xz 82832 BLAKE2B e96f4808c78fa670da7e5c96d20379a6903e43ae8daf1b07d289f089177a586c0df9b640755e3038ab217fc9cd75234f12ffbae5afe9e510b09e8fb4792d0585 SHA512 77025a1be7fa82a6dcf4ec8bdbf388baa271dde1dfc52c9416d931e3a065bc85dc09d727a970b6b430bbe811eae51dd008c35091eefca76bd47c821241e082a6
DIST chromium-openpower-a85b64f07b.tar.bz2 387899 BLAKE2B b01fda2d64ce73068d1536a10cc0896f07a4b714cdb25698b1df8b3252baa0c21c4209b307cf1cb554854f6d0bfe3cd35e06aaa8d02ac5d409a119335084c324 SHA512 05eee81677e8766808441c939bee68e2e6c58ec91f471d88a40181d2eda78614a0a6d27d92ff8f9dda564d12f3451bace4ff2727594748c5c238a3533038019b
DIST chromium-patches-129.tar.bz2 5071 BLAKE2B 080e1af8b0560a3c5365674e7c8d592310bbd2e273311b775b8112e410d91ccd48f170adbcf77cff566ad32de196217410663ac7b9e7e65544b6730fb1890aca SHA512 0a5bbc07dc9085b07332d5c6dd74940a9d55c4d0677f5603e75763ba54156f43664839d438f350bc86f3efc85aae452476e7f7040e06e60727847b156d1f0ab9
DIST chromium-patches-130-2.tar.bz2 10151 BLAKE2B b46515a3e01153d8c4e5c3ee1f6e9f905265bf88b698d46c8ceed0f90d36a057b8bb30a860e8d934bf0b85f9c0a671bef2c9a00349228fa076b7aec37ff62ca0 SHA512 e1ecca666c3998ee285426751be3220a5b67a057f2c92b1f45c7b786efb8d0b0e1d49ba70471fa74155f79f22811d240af636f61007191756c9981b53d3b23de
@@ -31,6 +35,8 @@ DIST chromium-testfonts-f26f29c9d3.tar.gz 32750602 BLAKE2B 498f8b2e0811c98dc3d4a
DIST chromium_128.0.6613.84-1raptor0~deb12u1.debian.tar.xz 8674292 BLAKE2B 74c8556f578231cd133ce3a11306ce38d32332a3db7b0f32a63df1806201933e69e9ff01e66d7ccef279f2134e0a69c89365d7a08a7a7e7d69816a188ae0b91c SHA512 b1b85bc99493676d466e648c00eb7e337efbcb197e9ed5ae6394133721db828583340df5ebfa45a3dccc72f400ad6ada637d400d8e2fae35c1322ca5e15dc10e
EBUILD chromium-129.0.6668.100-r1.ebuild 45716 BLAKE2B f6c3195da1d056f73adae2238c52cef85628ab5c03988cab89958452119ddf7ca9cf54c46165929e44a49f932b588c9569919257b9ed9d34bfc7c37e301deaee SHA512 ecb2f141df66b75dcdcc3bf77cc67536316ce5895b9cf89b53d3a73b1bbd73d35c3e10d78491f1eb873a123fe4bab685719c5cd5cfb99f5a16720c2f73b65d43
EBUILD chromium-130.0.6723.116-r1.ebuild 47364 BLAKE2B 5cb6c97251f2b4924353501cdfe7dcb62975c6a4c1b68584bea2f7d4bbd78fc015d5ac7699e9a0fc7561ca827b4151e4305ef7e712a1b7e49bc96f1c82459210 SHA512 d003d139462cf3eb8cd5b3675e6be6aeda7c16bbce47370652e91da553a1a6c1623e49b0f19a96ab374961a745f775b6e773d249ee3f913972b6c7730993927c
-EBUILD chromium-131.0.6778.33.ebuild 48153 BLAKE2B 63bae19adeb9a94a9cb3308b38d35e766615cb9e633d85a697f5546b94d05b93b75a726da5c6627dd2728616c183021a4028d7528dc950bbd6d19f4c097e52b6 SHA512 868829d981bb68d2e0bc853b807cfdd1ba4acd93dedbd0897fac14ad4345b5b6ef2b08c1585f01066a546afa1cb5d0aa2d4f2ac1b4179fbcb6609e10bf5a3beb
-EBUILD chromium-132.0.6821.2.ebuild 48540 BLAKE2B ceae8ba34d75769f265aff66e375aaf5707aceeb56398c6eec2644161a23f857f2cc74777abe5f7b84c84ce7b4b897d255d4186b2e675c0a5c735d6aa862e557 SHA512 484ab0c27a36a280f6ac4ee668722a46e30b601248ab65291374f05c5dac17b747553df25330c6cd6280b4130acad66b5feeae8b65b04c903f3849c5494f2ef7
+EBUILD chromium-131.0.6778.33.ebuild 48182 BLAKE2B 5998826d65927ed29a34327f79aa64aaca3d7a16ceda8fd1a0dfe8fa0718cb967cb5f700ace73e602d1099868baaa9d0412e30e376d225ec8b0a1efb58a37372 SHA512 768dfde65abb76efb195041da9e260de0a4ba7c4d1a56383175351ee6dd29657579997cd30128c87dc33649d9102f5ee93fa1c891fa6fbe4ae6aaddd2b27c86b
+EBUILD chromium-131.0.6778.69.ebuild 48185 BLAKE2B aa6e9c7a9cfc9bbafc13fd4804a47d6f6f40024847e3a50706da9b2eccb4bcb888eaaa0c9a4419255965671dfe8d10326dbf70bddde9b623c99cd32a9aa3f2e6 SHA512 d5e42d573746de28c89620df8347647a7ecd97468a735eae540cc332a3996787c8ea35e855de4ef91e052ca2c58110a8c58cb856a72dce549d0a72f99331746d
+EBUILD chromium-132.0.6821.2.ebuild 48569 BLAKE2B da5d2e8e9d58c68ebb46288dedf69866fe5237dd6c02f8b980573d98aebba61e691be9d7b94e719cb89f153dde4ee1a4ace045917f97f6704a769374e78e8068 SHA512 dee7a9ac4592e29c28a454711fd5f45f030c1ebcac9b7a5f451d24ca227d8d23e63802aa559dfee33b814dd163c5742b7d29ba39f46854f957e779577b3abdb9
+EBUILD chromium-132.0.6834.6.ebuild 48674 BLAKE2B c9a4b1865b8f583ea91105ede3e6e7fcd391b1d980ef9df02396dab0558e3453324e08717dc40dc50fa6168fa9b7867fc81d6a506a6dbb5fe03fb40b6f4133f0 SHA512 72eddf135225fbbb8bdfe52fb43aeb75ebdfa4f30c8e846e04ccf02ddcbd83d9b4b0aa3b9f01de9bdbbd47b8eda4ef5434778f5d766a81e2861addea01b61c5d
MISC metadata.xml 2083 BLAKE2B e556591b48916e2b26d66b8b3a3f67d8f7c17d7cf2d03bfca4c91e0181604d853b16139583a8364646f5c2db55a2e3281a5b6ee623535452dbc8b0755fac89dc SHA512 b64e3140c1237d45aea47748a259b51685e7aa54c2ba259f6feb60df5a98ec434bd0ecde2e5dc2115d6c6409621ec3111e8b6b2a0fc8be2d9634dc465260dbe2
diff --git a/www-client/chromium/chromium-131.0.6778.33.ebuild b/www-client/chromium/chromium-131.0.6778.33.ebuild
index 005bb03bd9ea..326d69ae1ec6 100644
--- a/www-client/chromium/chromium-131.0.6778.33.ebuild
+++ b/www-client/chromium/chromium-131.0.6778.33.ebuild
@@ -19,6 +19,7 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu
sv sw ta te th tr uk ur vi zh-CN zh-TW"
LLVM_COMPAT=( 18 19 )
+RUST_NEEDS_LLVM="yes please"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_REQ_USE="xml(+)"
RUST_MIN_VER=1.78.0
diff --git a/www-client/chromium/chromium-131.0.6778.69.ebuild b/www-client/chromium/chromium-131.0.6778.69.ebuild
new file mode 100644
index 000000000000..f3dbb100a6d7
--- /dev/null
+++ b/www-client/chromium/chromium-131.0.6778.69.ebuild
@@ -0,0 +1,1423 @@
+# Copyright 2009-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# PACKAGING NOTES
+
+# This uses a gentoo-created tarball due to Google CI Failures.
+# Use 133(?) as a base for new official tarballs.
+
+GN_MIN_VER=0.2165
+# chromium-tools/get-chromium-toolchain-strings.py
+TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35
+
+VIRTUALX_REQUIRED="pgo"
+
+CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ 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
+ sv sw ta te th tr uk ur vi zh-CN zh-TW"
+
+LLVM_COMPAT=( 18 19 )
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE="xml(+)"
+RUST_MIN_VER=1.78.0
+RUST_NEEDS_LLVM="yes please"
+
+inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils
+inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://www.chromium.org/"
+PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6"
+PATCH_V="${PV%%\.*}-1"
+SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}.tar.xz -> ${P}-gentoo.tar.xz
+ https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
+ test? (
+ https://chromium-tarballs.distfiles.gentoo.org/${P}-testdata.tar.xz -> ${P}-testdata-gentoo.tar.xz
+ https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz
+ )
+ ppc64? (
+ https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
+ )
+ pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
+
+LICENSE="BSD"
+SLOT="0/stable"
+# Dev exists mostly to give devs some breathing room for beta/stable releases;
+# it shouldn't be keyworded but adventurous users can select it.
+if [[ ${SLOT} != "0/dev" ]]; then
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
+IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
+IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine"
+RESTRICT="
+ !bindist? ( bindist )
+ !test? ( test )
+"
+
+REQUIRED_USE="
+ !headless? ( || ( X wayland ) )
+ pgo? ( X !wayland )
+ qt6? ( qt5 )
+ screencast? ( wayland )
+ ffmpeg-chromium? ( bindist proprietary-codecs )
+"
+
+COMMON_X_DEPEND="
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxshmfence:=
+"
+
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-73.0:= )
+ >=dev-libs/libxml2-2.12.4:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ dev-libs/libxslt:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ system-png? ( media-libs/libpng:=[-apng(-)] )
+ system-zstd? ( >=app-arch/zstd-1.5.5:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ sys-libs/zlib:=
+ x11-libs/libdrm:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-libs/libpulse:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-base/xorg-proto:=
+ x11-libs/libX11:=
+ x11-libs/libxcb:=
+ x11-libs/libXext:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/libffi:=
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ X? ( ${COMMON_X_DEPEND} )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ media-libs/mesa:=[X?,wayland?]
+ cups? ( >=net-print/cups-1.3.11:= )
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango:=
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X?,wayland?]
+ gui-libs/gtk:4[X?,wayland?]
+ )
+ qt5? ( dev-qt/qtgui:5[X?,wayland?] )
+ qt6? ( dev-qt/qtbase:6[X?,wayland?] )
+ )
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+ bindist? (
+ !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+ ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ !headless? (
+ gtk4? ( gui-libs/gtk:4[X?,wayland?] )
+ !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
+ )
+"
+
+BDEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ !headless? (
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? ( dev-qt/qtbase:6 )
+ )
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ sys-devel/lld:${LLVM_SLOT}
+ ')
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
+ )
+ >=dev-util/bindgen-0.68.0
+ >=dev-build/gn-${GN_MIN_VER}
+ dev-build/ninja
+ dev-lang/perl
+ >=dev-util/gperf-3.0.3
+ dev-vcs/git
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+"
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pre_build_checks() {
+ # Check build requirements: bugs #471810, #541816, #914220
+ # We're going to start doing maths here on the size of an unpacked source tarball,
+ # this should make updates easier as chromium continues to balloon in size.
+ local BASE_DISK=24
+ local EXTRA_DISK=1
+ local CHECKREQS_MEMORY="4G"
+ tc-is-cross-compiler && EXTRA_DISK=2
+ if tc-is-lto || use pgo; then
+ CHECKREQS_MEMORY="9G"
+ tc-is-cross-compiler && EXTRA_DISK=4
+ use pgo && EXTRA_DISK=8
+ fi
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ if use custom-cflags; then
+ EXTRA_DISK=13
+ fi
+ CHECKREQS_MEMORY="16G"
+ fi
+ CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+ fi
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
+ done
+ fi
+
+ if ! use bindist && use ffmpeg-chromium; then
+ ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+
+ # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
+ # We'll set these to clang here then use llvm-utils functions to very explicitly set these
+ # to a sane value.
+ # This is effectively the 'force-clang' path if GCC support is re-added.
+ # TODO: check if the user has already selected a specific impl via make.conf and respect that.
+ use_lto="false"
+ if tc-is-lto; then
+ use_lto="true"
+ # We can rely on GN to do this for us; anecdotally without this builds
+ # take significantly longer with LTO enabled and it doesn't hurt anything.
+ filter-lto
+ fi
+
+ if [ "$use_lto" = "false" ] && use official; then
+ einfo "USE=official selected and LTO not detected."
+ einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
+ einfo "and to be consistent with the upstream \"official\" build optimisations."
+ fi
+
+ if [ "$use_lto" = "false" ] && use test; then
+ die "Tests require CFI which requires LTO"
+ fi
+
+ export use_lto
+
+ # 936858
+ if tc-ld-is-mold; then
+ eerror "Your toolchain is using the mold linker."
+ eerror "This is not supported by Chromium."
+ die "Please switch to a different linker."
+ fi
+
+ # Forcing clang; user choice respected by llvm_slot_x USE
+ AR=llvm-ar
+ CPP="${CHOST}-clang++ -E"
+ NM=llvm-nm
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+
+ if tc-is-cross-compiler; then
+ use pgo && die "The pgo USE flag cannot be used when cross-compiling"
+ CPP="${CBUILD}-clang++ -E"
+ fi
+
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+
+ # I hate doing this but upstream Rust have yet to come up with a better solution for
+ # us poor packagers. Required for Split LTO units, which are required for CFI.
+ export RUSTC_BOOTSTRAP=1
+
+ # Users should never hit this, it's purely a development convenience
+ if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
+ die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
+ fi
+ fi
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ unpack ${P}-gentoo.tar.xz
+ unpack chromium-patches-${PATCH_V}.tar.bz2
+
+ use pgo && unpack chromium-profiler-0.2.tar
+
+ if use test; then
+ # A new testdata tarball is available for each release; but testfonts tend to remain stable
+ # for the duration of a release.
+ # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`.
+ unpack ${P}-testdata-gentoo.tar.xz
+ # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location.
+ local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts"
+ local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz"
+ tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts"
+ fi
+
+ if use ppc64; then
+ unpack chromium_${PATCHSET_PPC64}.debian.tar.xz
+ unpack chromium-ppc64le-gentoo-patches-1.tar.xz
+ fi
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # disable global media controls, crashes with libstdc++
+ sed -i -e \
+ "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
+ "chrome/browser/media/router/media_router_feature.cc"
+
+ local PATCHES=(
+ "${FILESDIR}/chromium-cross-compile.patch"
+ "${FILESDIR}/chromium-109-system-zlib.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch"
+ "${FILESDIR}/chromium-131-unbundle-icu-target.patch"
+ "${FILESDIR}/chromium-131-oauth2-client-switches.patch"
+ "${FILESDIR}/chromium-131-const-atomicstring-conversion.patch"
+ )
+
+ PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
+ # We can't use the bundled compiler builtins with the system toolchain
+ # `grep` is a development convenience to ensure we fail early when google changes something.
+ local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
+ grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
+
+ if use ppc64 ; then
+ local p
+ for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
+ if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
+ eapply "${WORKDIR}/debian/patches/${p}"
+ fi
+ done
+ PATCHES+=( "${WORKDIR}/ppc64le" )
+ PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
+ fi
+
+ default
+
+ rm third_party/node/linux/node-linux-x64/bin/node || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party'
+ # whitelist matches use the right-most matching path component, so we need to whitelist from that point down.
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/ceval
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/volk
+ third_party/anonymous_tokens
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/bidimapper
+ third_party/blink
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/content_analysis_sdk
+ third_party/cpuinfo
+ third_party/crabbyavif
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/d3
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/gn/webgpu-cts
+ third_party/dawn/third_party/khronos
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/json5
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
+ third_party/devtools-frontend/src/front_end/third_party/third-party-web
+ third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/front_end/third_party/web-vitals
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fast_float
+ third_party/fdlibm
+ third_party/ffmpeg
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fxdiv
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/highway
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/ink_stroke_modeler/src/ink_stroke_modeler
+ third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal
+ third_party/ink/src/ink/brush
+ third_party/ink/src/ink/color
+ third_party/ink/src/ink/geometry
+ third_party/ink/src/ink/rendering
+ third_party/ink/src/ink/rendering/skia/common_internal
+ third_party/ink/src/ink/rendering/skia/native
+ third_party/ink/src/ink/rendering/skia/native/internal
+ third_party/ink/src/ink/strokes
+ third_party/ink/src/ink/types
+ third_party/inspector_protocol
+ third_party/ipcz
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/lens_server_proto
+ third_party/leveldatabase
+ third_party/libaddressinput
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/SVT-AV1
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ third_party/libavif
+ third_party/libc++
+ third_party/libevent
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/liburlpattern
+ third_party/libva_protected_content
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/libzip
+ third_party/lit
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/markupsafe
+ third_party/material_color_utilities
+ third_party/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/omnibox_proto
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/opus
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg
+ third_party/pdfium/third_party/libtiff
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/perfetto/protos/third_party/simpleperf
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private_membership
+ third_party/private-join-and-compute
+ third_party/protobuf
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/qcms
+ third_party/rapidhash
+ third_party/re2
+ third_party/rnnoise
+ third_party/rust
+ third_party/ruy
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/selenium-atoms
+ third_party/sentencepiece
+ third_party/sentencepiece/src/third_party/darts_clone
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/six
+ third_party/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/spirv-headers
+ third_party/spirv-tools
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/swiftshader/third_party/subzero
+ third_party/tensorflow_models
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/tflite/src/third_party/xla/third_party/tsl
+ third_party/tflite/src/third_party/xla/xla/tsl/framework
+ third_party/tflite/src/third_party/xla/xla/tsl/lib/random
+ third_party/tflite/src/third_party/xla/xla/tsl/protobuf
+ third_party/tflite/src/third_party/xla/xla/tsl/util
+ third_party/ukey2
+ third_party/unrar
+ third_party/utf
+ third_party/vulkan
+ third_party/wayland
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/xnnpack
+ third_party/zlib/google
+ third_party/zxcvbn-cpp
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/utf8-decoder
+ v8/src/third_party/valgrind
+ v8/third_party/glibc
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+
+ if use test; then
+ # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}'
+ keeplibs+=(
+ third_party/google_benchmark/src/include/benchmark
+ third_party/google_benchmark/src/src
+ third_party/perfetto/protos/third_party/pprof
+ third_party/test_fonts
+ third_party/test_fonts/fontconfig
+ )
+ fi
+
+ # USE=system-*
+ if ! use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+
+ if ! use system-zstd; then
+ keeplibs+=( third_party/zstd )
+ fi
+
+ # Arch-specific
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
+ # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
+ # since we're not in a git repo
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
+ generate_gni.sh || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+
+ pushd third_party/ffmpeg >/dev/null || die
+ cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
+ cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
+ popd >/dev/null || die
+ fi
+
+ # Sanity check keeplibs, on major version bumps it is often necessary to update this list
+ # and this enables us to hit them all at once.
+ # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd)
+ whitelist_libs=(
+ net/third_party/quic
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/libjingle
+ third_party/mesa
+ third_party/skia/third_party/vulkan
+ third_party/vulkan
+ )
+ local not_found_libs=()
+ for lib in "${keeplibs[@]}"; do
+ if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then
+ not_found_libs+=( "${lib}" )
+ fi
+ done
+
+ if [[ ${#not_found_libs[@]} -gt 0 ]]; then
+ eerror "The following \`keeplibs\` directories were not found in the source tree:"
+ for lib in "${not_found_libs[@]}"; do
+ eerror " ${lib}"
+ done
+ die "Please update the ebuild."
+ fi
+
+ # Remove most bundled libraries. Some are still needed.
+ einfo "Unbundling third-party libraries ..."
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed.
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+chromium_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ # We already forced the "correct" clang via pkg_setup
+
+ if tc-is-cross-compiler; then
+ CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_AR=${AR}
+ BUILD_CC=${CC}
+ BUILD_CXX=${CXX}
+ BUILD_NM=${NM}
+ fi
+
+ strip-unsupported-flags
+
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ # https://bugs.gentoo.org/918897#c32
+ append-ldflags -Wl,--undefined-version
+ myconf_gn+=" use_lld=true"
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ # bindgen settings
+ # From 127, to make bindgen work, we need to provide a location for libclang.
+ # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
+ # rust_bindgen_root = directory with `bin/bindgen` beneath it.
+ myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
+
+ myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
+ # We don't need to set 'clang_base_bath' for anything in our build
+ # and it defaults to the google toolchain location. Instead provide a location
+ # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
+ myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
+
+ myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\""
+ myconf_gn+=" rustc_version=\"${RUST_SLOT}\""
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=false"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libdrm
+ libjpeg
+ libwebp
+ libxml
+ libxslt
+ openh264
+ zlib
+ )
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ if use system-zstd; then
+ gn_system_libraries+=( zstd )
+ fi
+
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file
+ # drop the last line, then append the freetype line and a new curly brace to end the block
+ local freetype_gni="build/config/freetype/freetype.gni"
+ sed -i -e '$d' ${freetype_gni} || die
+ echo " enable_freetype = true" >> ${freetype_gni} || die
+ echo "}" >> ${freetype_gni} || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
+
+ # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
+ # using dlopen. This helps with automated detection of ABI mismatches and
+ # prevents silent errors.
+ if use pulseaudio; then
+ myconf_gn+=" link_pulseaudio=true"
+ fi
+
+ # Non-developer builds of Chromium (for example, non-Chrome browsers, or
+ # Chromium builds provided by Linux distros) should disable the testing config
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ # The sysroot is the oldest debian image that chromium supports, we don't need it
+ myconf_gn+=" use_sysroot=false"
+
+ # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
+ # instead of the system C++ library for C++ standard library support.
+ # default: true, but let's be explicit (forced since 120 ; USE removed 127).
+ myconf_gn+=" use_custom_libcxx=true"
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ if use bindist ; then
+ # proprietary_codecs just forces Chromium to say that it can use h264/aac,
+ # the work is still done by ffmpeg. If this is set to no Chromium
+ # won't be able to load the codec even if the library can handle it
+ myconf_gn+=" proprietary_codecs=true"
+ myconf_gn+=" ffmpeg_branding=\"Chrome\""
+ # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
+ myconf_gn+=" is_component_ffmpeg=true"
+ else
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+ fi
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ filter-flags "-g*"
+
+ # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
+ if [[ ${myarch} == amd64 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ fi
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ myconf_gn+=" treat_warnings_as_errors=false"
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Disable external code space for V8 for ppc64. It is disabled for ppc64
+ # by default, but cross-compiling on amd64 enables it again.
+ if tc-is-cross-compiler; then
+ if ! use amd64 && ! use arm64; then
+ myconf_gn+=" v8_enable_external_code_space=false"
+ fi
+ fi
+
+ # Only enabled for clang, but gcc has endian macros too
+ myconf_gn+=" v8_use_libm_trig_functions=true"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ # We don't use the same clang version as upstream, and with -Werror
+ # we need to make sure that we don't get superfluous warnings.
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Don't need nocompile checks and GN crashes with our config
+ myconf_gn+=" enable_nocompile_tests=false"
+
+ # 131 began laying the groundwork for replacing freetype with
+ # "Rust-based Fontations set of libraries plus Skia path rendering"
+ # We now need to opt-in
+ myconf_gn+=" enable_freetype=true"
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
+ else
+ myconf_gn+=" use_system_libdrm=true"
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ if use qt5 || use qt6; then
+ local cbuild_libdir=$(get_libdir)
+ if tc-is-cross-compiler; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
+ cbuild_libdir=${cbuild_libdir:2}
+ cbuild_libdir=${cbuild_libdir/% }
+ fi
+ if use qt5; then
+ if tc-is-cross-compiler; then
+ myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
+ else
+ myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
+ fi
+ fi
+ if use qt6; then
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
+ fi
+
+ myconf_gn+=" use_qt=true"
+ myconf_gn+=" use_qt6=$(usex qt6 true false)"
+ else
+ myconf_gn+=" use_qt=false"
+ fi
+ myconf_gn+=" ozone_platform_x11=$(usex X true false)"
+ myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
+ myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
+ use wayland && myconf_gn+=" use_system_libffi=true"
+ fi
+
+ myconf_gn+=" use_thin_lto=${use_lto}"
+ myconf_gn+=" thin_lto_enable_optimizations=${use_lto}"
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ myconf_gn+=" is_cfi=${use_lto}"
+ # Don't add symbols to build
+ myconf_gn+=" symbol_level=0"
+ fi
+
+ if use pgo; then
+ myconf_gn+=" chrome_pgo_phase=${1}"
+ if [[ "$1" == "2" ]]; then
+ myconf_gn+=" pgo_data_path=\"${2}\""
+ fi
+ else
+ # Disable PGO
+ myconf_gn+=" chrome_pgo_phase=0"
+ fi
+
+ # skipping typecheck is only supported on amd64, bug #876157
+ if ! use amd64; then
+ myconf_gn+=" devtools_skip_typecheck=false"
+ fi
+
+ einfo "Configuring Chromium ..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_configure() {
+ chromium_configure $(usex pgo 1 0)
+}
+
+chromium_compile() {
+
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ # Build mksnapshot and pax-mark it.
+ if use pax-kernel; then
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+ fi
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests")
+
+ pax-mark m out/Release/chrome
+
+}
+
+# This function is called from virtx, and must always return so that Xvfb
+# session isn't left running. If we return 1, virtx will call die().
+chromium_profile() {
+ einfo "Profiling for PGO"
+
+ pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
+
+ # Remove old profdata in case profiling was interrupted.
+ rm -rf "${1}" || return 1
+
+ if ! "${EPYTHON}" ./chromium_profiler.py \
+ --chrome-executable "${S}/out/Release/chrome" \
+ --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
+ --add-arg no-sandbox --add-arg disable-dev-shm-usage \
+ --profile-output "${1}"; then
+ eerror "Profiling failed"
+ return 1
+ fi
+
+ popd >/dev/null || return 1
+}
+
+src_compile() {
+ if use pgo; then
+ local profdata
+
+ profdata="${WORKDIR}/chromium.profdata"
+
+ if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
+ chromium_compile
+ virtx chromium_profile "$profdata"
+
+ touch "${WORKDIR}/.pgo-profiled" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
+ # Remove phase 1 output
+ rm -r out/Release || die
+
+ chromium_configure 2 "$profdata"
+
+ touch "${WORKDIR}/.pgo-phase-2-configured" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
+ chromium_compile
+ touch "${WORKDIR}/.pgo-phase-2-compiled" || die
+ fi
+ else
+ chromium_compile
+ fi
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ rm -f out/Release/locales/*.pak.info || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_test() {
+ # Initial list of tests to skip pulled from Alpine. Thanks Lauren!
+ # https://issues.chromium.org/issues/40939315
+ local skip_tests=(
+ 'MessagePumpLibeventTest.NestedNotification*'
+ ClampTest.Death
+ OptionalTest.DereferencingNoValueCrashes
+ PlatformThreadTest.SetCurrentThreadTypeTest
+ RawPtrTest.TrivialRelocability
+ SafeNumerics.IntMaxOperations
+ StackTraceTest.TraceStackFramePointersFromBuffer
+ StringPieceTest.InvalidLengthDeath
+ StringPieceTest.OutOfBoundsDeath
+ ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker
+ ValuesUtilTest.FilePath
+ # Gentoo-specific
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3
+ CharacterEncodingTest.GetCanonicalEncodingNameByAliasName
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress
+ FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe
+ FileTest.GetInfoForCreationTime
+ ICUStringConversionsTest.ConvertToUtf8AndNormalize
+ NumberFormattingTest.FormatPercent
+ PathServiceTest.CheckedGetFailure
+ PlatformThreadTest.CanChangeThreadType
+ StackCanary.ChangingStackCanaryCrashesOnReturn
+ StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree
+ SysStrings.SysNativeMBAndWide
+ SysStrings.SysNativeMBToWide
+ SysStrings.SysWideToNativeMB
+ TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest
+ ToolsSanityTest.BadVirtualCallNull
+ ToolsSanityTest.BadVirtualCallWrongType
+ )
+ local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")"
+ # test-launcher-bot-mode enables parallelism and plain output
+ ./out/Release/base_unittests --test-launcher-bot-mode \
+ --test-launcher-jobs="$(makeopts_jobs)" \
+ --gtest_filter="${test_filter}" || die "Tests failed!"
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use X && use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+
+ if use bindist; then
+ # We built libffmpeg as a component library, but we can't distribute it
+ # with proprietary codec support. Remove it and make a symlink to the requested
+ # system library.
+ rm -f out/Release/libffmpeg.so \
+ || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
+ # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
+ einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
+ dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
+ /usr/$(get_libdir)/chromium-browser/libffmpeg.so
+ fi
+
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
+ doins out/Release/xdg-{settings,mime}
+
+ if ! use system-icu && ! use headless; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use qt5 && use qt6; then
+ elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
+ elog "environment. To override you need to pass --qt-version=5 or"
+ elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
+ elog "/etc/chromium/default."
+ fi
+ fi
+
+ if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
+ ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
+ ewarn "indicates that the Gentoo handbook was not followed to completion."
+ ewarn ""
+ ewarn "Chromium is known to behave unpredictably with this system configuration;"
+ ewarn "please complete the configuration of this system before logging any bugs."
+ fi
+}
diff --git a/www-client/chromium/chromium-132.0.6821.2.ebuild b/www-client/chromium/chromium-132.0.6821.2.ebuild
index 3c992b2d2609..3a478a93a252 100644
--- a/www-client/chromium/chromium-132.0.6821.2.ebuild
+++ b/www-client/chromium/chromium-132.0.6821.2.ebuild
@@ -19,6 +19,7 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu
sv sw ta te th tr uk ur vi zh-CN zh-TW"
LLVM_COMPAT=( 18 19 )
+RUST_NEEDS_LLVM="yes please"
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_REQ_USE="xml(+)"
RUST_MIN_VER=1.78.0
diff --git a/www-client/chromium/chromium-132.0.6834.6.ebuild b/www-client/chromium/chromium-132.0.6834.6.ebuild
new file mode 100644
index 000000000000..aa8e823dc2a0
--- /dev/null
+++ b/www-client/chromium/chromium-132.0.6834.6.ebuild
@@ -0,0 +1,1434 @@
+# Copyright 2009-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# PACKAGING NOTES
+
+# This uses a gentoo-created tarball due to Google CI Failures.
+# Use 133(?) as a base for new official tarballs.
+
+GN_MIN_VER=0.2165
+# chromium-tools/get-chromium-toolchain-strings.py
+TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35
+
+VIRTUALX_REQUIRED="pgo"
+
+CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ 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
+ sv sw ta te th tr uk ur vi zh-CN zh-TW"
+
+LLVM_COMPAT=( 18 19 )
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE="xml(+)"
+RUST_MIN_VER=1.78.0
+RUST_NEEDS_LLVM="yes please"
+
+inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils
+inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://www.chromium.org/"
+PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6"
+PATCH_V="${PV%%\.*}"
+SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}.tar.xz -> ${P}-gentoo.tar.xz
+ https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
+ test? (
+ https://chromium-tarballs.distfiles.gentoo.org/${P}-testdata.tar.xz -> ${P}-testdata-gentoo.tar.xz
+ https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz
+ )
+ ppc64? (
+ https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
+ )
+ pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
+
+LICENSE="BSD"
+SLOT="0/beta"
+# Dev exists mostly to give devs some breathing room for beta/stable releases;
+# it shouldn't be keyworded but adventurous users can select it.
+if [[ ${SLOT} != "0/dev" ]]; then
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
+IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
+IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine"
+RESTRICT="
+ !bindist? ( bindist )
+ !test? ( test )
+"
+
+REQUIRED_USE="
+ !headless? ( || ( X wayland ) )
+ pgo? ( X !wayland )
+ qt6? ( qt5 )
+ screencast? ( wayland )
+ ffmpeg-chromium? ( bindist proprietary-codecs )
+"
+
+COMMON_X_DEPEND="
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxshmfence:=
+"
+
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-73.0:= )
+ >=dev-libs/libxml2-2.12.4:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ dev-libs/libxslt:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ system-png? ( media-libs/libpng:=[-apng(-)] )
+ system-zstd? ( >=app-arch/zstd-1.5.5:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ sys-libs/zlib:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-libs/libpulse:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-base/xorg-proto:=
+ x11-libs/libX11:=
+ x11-libs/libxcb:=
+ x11-libs/libXext:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/libffi:=
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ X? ( ${COMMON_X_DEPEND} )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ media-libs/mesa:=[X?,wayland?]
+ cups? ( >=net-print/cups-1.3.11:= )
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango:=
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X?,wayland?]
+ gui-libs/gtk:4[X?,wayland?]
+ )
+ qt5? ( dev-qt/qtgui:5[X?,wayland?] )
+ qt6? ( dev-qt/qtbase:6[X?,wayland?] )
+ )
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+ bindist? (
+ !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+ ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ !headless? (
+ gtk4? ( gui-libs/gtk:4[X?,wayland?] )
+ !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
+ )
+"
+
+BDEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ !headless? (
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? ( dev-qt/qtbase:6 )
+ )
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ sys-devel/lld:${LLVM_SLOT}
+ ')
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
+ )
+ >=dev-util/bindgen-0.68.0
+ >=dev-build/gn-${GN_MIN_VER}
+ dev-build/ninja
+ dev-lang/perl
+ >=dev-util/gperf-3.0.3
+ dev-vcs/git
+ >=net-libs/nodejs-7.6.0[inspector]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+"
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+pre_build_checks() {
+ # Check build requirements: bugs #471810, #541816, #914220
+ # We're going to start doing maths here on the size of an unpacked source tarball,
+ # this should make updates easier as chromium continues to balloon in size.
+ local BASE_DISK=24
+ local EXTRA_DISK=1
+ local CHECKREQS_MEMORY="4G"
+ tc-is-cross-compiler && EXTRA_DISK=2
+ if tc-is-lto || use pgo; then
+ CHECKREQS_MEMORY="9G"
+ tc-is-cross-compiler && EXTRA_DISK=4
+ use pgo && EXTRA_DISK=8
+ fi
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ if use custom-cflags; then
+ EXTRA_DISK=13
+ fi
+ CHECKREQS_MEMORY="16G"
+ fi
+ CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+ fi
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
+ done
+ fi
+
+ if ! use bindist && use ffmpeg-chromium; then
+ ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+
+ # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
+ # We'll set these to clang here then use llvm-utils functions to very explicitly set these
+ # to a sane value.
+ # This is effectively the 'force-clang' path if GCC support is re-added.
+ # TODO: check if the user has already selected a specific impl via make.conf and respect that.
+ use_lto="false"
+ if tc-is-lto; then
+ use_lto="true"
+ # We can rely on GN to do this for us; anecdotally without this builds
+ # take significantly longer with LTO enabled and it doesn't hurt anything.
+ filter-lto
+ fi
+
+ if [ "$use_lto" = "false" ] && use official; then
+ einfo "USE=official selected and LTO not detected."
+ einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
+ einfo "and to be consistent with the upstream \"official\" build optimisations."
+ fi
+
+ if [ "$use_lto" = "false" ] && use test; then
+ die "Tests require CFI which requires LTO"
+ fi
+
+ export use_lto
+
+ # 936858
+ if tc-ld-is-mold; then
+ eerror "Your toolchain is using the mold linker."
+ eerror "This is not supported by Chromium."
+ die "Please switch to a different linker."
+ fi
+
+ # Forcing clang; user choice respected by llvm_slot_x USE
+ AR=llvm-ar
+ CPP="${CHOST}-clang++ -E"
+ NM=llvm-nm
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+
+ if tc-is-cross-compiler; then
+ use pgo && die "The pgo USE flag cannot be used when cross-compiling"
+ CPP="${CBUILD}-clang++ -E"
+ fi
+
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+
+ # I hate doing this but upstream Rust have yet to come up with a better solution for
+ # us poor packagers. Required for Split LTO units, which are required for CFI.
+ export RUSTC_BOOTSTRAP=1
+
+ # Users should never hit this, it's purely a development convenience
+ if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
+ die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
+ fi
+ fi
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ unpack ${P}-gentoo.tar.xz
+ unpack chromium-patches-${PATCH_V}.tar.bz2
+
+ use pgo && unpack chromium-profiler-0.2.tar
+
+ if use test; then
+ # A new testdata tarball is available for each release; but testfonts tend to remain stable
+ # for the duration of a release.
+ # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`.
+ unpack ${P}-testdata-gentoo.tar.xz
+ # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location.
+ local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts"
+ local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz"
+ tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts"
+ fi
+
+ if use ppc64; then
+ unpack chromium_${PATCHSET_PPC64}.debian.tar.xz
+ unpack chromium-ppc64le-gentoo-patches-1.tar.xz
+ fi
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # disable global media controls, crashes with libstdc++
+ sed -i -e \
+ "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
+ "chrome/browser/media/router/media_router_feature.cc"
+
+ local PATCHES=(
+ "${FILESDIR}/chromium-cross-compile.patch"
+ "${FILESDIR}/chromium-109-system-zlib.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-131-unbundle-icu-target.patch"
+ "${FILESDIR}/chromium-131-oauth2-client-switches.patch"
+ "${FILESDIR}/chromium-132-bindgen-custom-toolchain.patch"
+ )
+
+ PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
+ # We can't use the bundled compiler builtins with the system toolchain
+ # `grep` is a development convenience to ensure we fail early when google changes something.
+ local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
+ grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
+
+ if use ppc64 ; then
+ local p
+ for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
+ if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
+ eapply "${WORKDIR}/debian/patches/${p}"
+ fi
+ done
+ PATCHES+=( "${WORKDIR}/ppc64le" )
+ PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
+ fi
+
+ # This is a nightly option that does not exist any current release
+ # https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64
+ if ver_test ${RUST_SLOT} -le "1.82.0"; then
+ sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn ||
+ die "Failed to remove default visibility nightly option"
+ fi
+
+ default
+
+ rm third_party/node/linux/node-linux-x64/bin/node || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party'
+ # whitelist matches use the right-most matching path component, so we need to whitelist from that point down.
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/ceval
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/volk
+ third_party/anonymous_tokens
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/bidimapper
+ third_party/blink
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/content_analysis_sdk
+ third_party/cpuinfo
+ third_party/crabbyavif
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/d3
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/gn/webgpu-cts
+ third_party/dawn/third_party/khronos
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/json5
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
+ third_party/devtools-frontend/src/front_end/third_party/third-party-web
+ third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/front_end/third_party/web-vitals
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fast_float
+ third_party/fdlibm
+ third_party/ffmpeg
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fxdiv
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/highway
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/ink_stroke_modeler/src/ink_stroke_modeler
+ third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal
+ third_party/ink/src/ink/brush
+ third_party/ink/src/ink/color
+ third_party/ink/src/ink/geometry
+ third_party/ink/src/ink/rendering
+ third_party/ink/src/ink/rendering/skia/common_internal
+ third_party/ink/src/ink/rendering/skia/native
+ third_party/ink/src/ink/rendering/skia/native/internal
+ third_party/ink/src/ink/strokes
+ third_party/ink/src/ink/types
+ third_party/inspector_protocol
+ third_party/ipcz
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/lens_server_proto
+ third_party/leveldatabase
+ third_party/libaddressinput
+ third_party/libaom
+ third_party/libaom/source/libaom/third_party/fastfeat
+ third_party/libaom/source/libaom/third_party/SVT-AV1
+ third_party/libaom/source/libaom/third_party/vector
+ third_party/libaom/source/libaom/third_party/x86inc
+ third_party/libavif
+ third_party/libc++
+ third_party/libdrm
+ third_party/libevent
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libtess2/libtess2
+ third_party/libtess2/src/Include
+ third_party/libtess2/src/Source
+ third_party/liburlpattern
+ third_party/libva_protected_content
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/libzip
+ third_party/lit
+ third_party/llvm-libc
+ third_party/llvm-libc/src/shared/
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/markupsafe
+ third_party/material_color_utilities
+ third_party/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/omnibox_proto
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/opus
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg
+ third_party/pdfium/third_party/libtiff
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/perfetto/protos/third_party/simpleperf
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private_membership
+ third_party/private-join-and-compute
+ third_party/protobuf
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/qcms
+ third_party/rapidhash
+ third_party/re2
+ third_party/rnnoise
+ third_party/rust
+ third_party/ruy
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/selenium-atoms
+ third_party/sentencepiece
+ third_party/sentencepiece/src/third_party/darts_clone
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/six
+ third_party/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/spirv-headers
+ third_party/spirv-tools
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/swiftshader/third_party/subzero
+ third_party/tensorflow_models
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/tflite/src/third_party/xla/third_party/tsl
+ third_party/tflite/src/third_party/xla/xla/tsl/framework
+ third_party/tflite/src/third_party/xla/xla/tsl/lib/random
+ third_party/tflite/src/third_party/xla/xla/tsl/protobuf
+ third_party/tflite/src/third_party/xla/xla/tsl/util
+ third_party/ukey2
+ third_party/unrar
+ third_party/utf
+ third_party/vulkan
+ third_party/wayland
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/xnnpack
+ third_party/zlib/google
+ third_party/zxcvbn-cpp
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/utf8-decoder
+ v8/src/third_party/valgrind
+ v8/third_party/glibc
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+
+ if use test; then
+ # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}'
+ keeplibs+=(
+ third_party/breakpad/breakpad/src/processor
+ third_party/google_benchmark/src/include/benchmark
+ third_party/google_benchmark/src/src
+ third_party/perfetto/protos/third_party/pprof
+ third_party/test_fonts
+ third_party/test_fonts/fontconfig
+ )
+ fi
+
+ # USE=system-*
+ if ! use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+
+ if ! use system-zstd; then
+ keeplibs+=( third_party/zstd )
+ fi
+
+ # Arch-specific
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
+ # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
+ # since we're not in a git repo
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
+ generate_gni.sh || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+
+ pushd third_party/ffmpeg >/dev/null || die
+ cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
+ cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
+ popd >/dev/null || die
+ fi
+
+ # Sanity check keeplibs, on major version bumps it is often necessary to update this list
+ # and this enables us to hit them all at once.
+ # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd)
+ whitelist_libs=(
+ net/third_party/quic
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/libjingle
+ third_party/mesa
+ third_party/skia/third_party/vulkan
+ third_party/vulkan
+ )
+ local not_found_libs=()
+ for lib in "${keeplibs[@]}"; do
+ if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then
+ not_found_libs+=( "${lib}" )
+ fi
+ done
+
+ if [[ ${#not_found_libs[@]} -gt 0 ]]; then
+ eerror "The following \`keeplibs\` directories were not found in the source tree:"
+ for lib in "${not_found_libs[@]}"; do
+ eerror " ${lib}"
+ done
+ die "Please update the ebuild."
+ fi
+
+ # Remove most bundled libraries. Some are still needed.
+ einfo "Unbundling third-party libraries ..."
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed.
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+chromium_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ # We already forced the "correct" clang via pkg_setup
+
+ if tc-is-cross-compiler; then
+ CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_AR=${AR}
+ BUILD_CC=${CC}
+ BUILD_CXX=${CXX}
+ BUILD_NM=${NM}
+ fi
+
+ strip-unsupported-flags
+
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ # https://bugs.gentoo.org/918897#c32
+ append-ldflags -Wl,--undefined-version
+ myconf_gn+=" use_lld=true"
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ # bindgen settings
+ # From 127, to make bindgen work, we need to provide a location for libclang.
+ # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
+ # rust_bindgen_root = directory with `bin/bindgen` beneath it.
+ myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
+
+ myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
+ # We don't need to set 'clang_base_bath' for anything in our build
+ # and it defaults to the google toolchain location. Instead provide a location
+ # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
+ myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
+
+ myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\""
+ myconf_gn+=" rustc_version=\"${RUST_SLOT}\""
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=false"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libjpeg
+ libwebp
+ libxml
+ libxslt
+ openh264
+ zlib
+ )
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ if use system-zstd; then
+ gn_system_libraries+=( zstd )
+ fi
+
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file
+ # drop the last line, then append the freetype line and a new curly brace to end the block
+ local freetype_gni="build/config/freetype/freetype.gni"
+ sed -i -e '$d' ${freetype_gni} || die
+ echo " enable_freetype = true" >> ${freetype_gni} || die
+ echo "}" >> ${freetype_gni} || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
+
+ # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
+ # using dlopen. This helps with automated detection of ABI mismatches and
+ # prevents silent errors.
+ if use pulseaudio; then
+ myconf_gn+=" link_pulseaudio=true"
+ fi
+
+ # Non-developer builds of Chromium (for example, non-Chrome browsers, or
+ # Chromium builds provided by Linux distros) should disable the testing config
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ # The sysroot is the oldest debian image that chromium supports, we don't need it
+ myconf_gn+=" use_sysroot=false"
+
+ # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
+ # instead of the system C++ library for C++ standard library support.
+ # default: true, but let's be explicit (forced since 120 ; USE removed 127).
+ myconf_gn+=" use_custom_libcxx=true"
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ if use bindist ; then
+ # proprietary_codecs just forces Chromium to say that it can use h264/aac,
+ # the work is still done by ffmpeg. If this is set to no Chromium
+ # won't be able to load the codec even if the library can handle it
+ myconf_gn+=" proprietary_codecs=true"
+ myconf_gn+=" ffmpeg_branding=\"Chrome\""
+ # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
+ myconf_gn+=" is_component_ffmpeg=true"
+ else
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+ fi
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ filter-flags "-g*"
+
+ # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
+ if [[ ${myarch} == amd64 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ fi
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ myconf_gn+=" treat_warnings_as_errors=false"
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Disable external code space for V8 for ppc64. It is disabled for ppc64
+ # by default, but cross-compiling on amd64 enables it again.
+ if tc-is-cross-compiler; then
+ if ! use amd64 && ! use arm64; then
+ myconf_gn+=" v8_enable_external_code_space=false"
+ fi
+ fi
+
+ # Only enabled for clang, but gcc has endian macros too
+ myconf_gn+=" v8_use_libm_trig_functions=true"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ # We don't use the same clang version as upstream, and with -Werror
+ # we need to make sure that we don't get superfluous warnings.
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Don't need nocompile checks and GN crashes with our config
+ myconf_gn+=" enable_nocompile_tests=false"
+
+ # 131 began laying the groundwork for replacing freetype with
+ # "Rust-based Fontations set of libraries plus Skia path rendering"
+ # We now need to opt-in
+ myconf_gn+=" enable_freetype=true"
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
+ else
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ if use qt5 || use qt6; then
+ local cbuild_libdir=$(get_libdir)
+ if tc-is-cross-compiler; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
+ cbuild_libdir=${cbuild_libdir:2}
+ cbuild_libdir=${cbuild_libdir/% }
+ fi
+ if use qt5; then
+ if tc-is-cross-compiler; then
+ myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
+ else
+ myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
+ fi
+ fi
+ if use qt6; then
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
+ fi
+
+ myconf_gn+=" use_qt=true"
+ myconf_gn+=" use_qt6=$(usex qt6 true false)"
+ else
+ myconf_gn+=" use_qt=false"
+ fi
+ myconf_gn+=" ozone_platform_x11=$(usex X true false)"
+ myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
+ myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
+ use wayland && myconf_gn+=" use_system_libffi=true"
+ fi
+
+ myconf_gn+=" use_thin_lto=${use_lto}"
+ myconf_gn+=" thin_lto_enable_optimizations=${use_lto}"
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ myconf_gn+=" is_cfi=${use_lto}"
+ # Don't add symbols to build
+ myconf_gn+=" symbol_level=0"
+ fi
+
+ if use pgo; then
+ myconf_gn+=" chrome_pgo_phase=${1}"
+ if [[ "$1" == "2" ]]; then
+ myconf_gn+=" pgo_data_path=\"${2}\""
+ fi
+ else
+ # Disable PGO
+ myconf_gn+=" chrome_pgo_phase=0"
+ fi
+
+ # skipping typecheck is only supported on amd64, bug #876157
+ if ! use amd64; then
+ myconf_gn+=" devtools_skip_typecheck=false"
+ fi
+
+ einfo "Configuring Chromium ..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_configure() {
+ chromium_configure $(usex pgo 1 0)
+}
+
+chromium_compile() {
+
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ # Build mksnapshot and pax-mark it.
+ if use pax-kernel; then
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+ fi
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests")
+
+ pax-mark m out/Release/chrome
+
+}
+
+# This function is called from virtx, and must always return so that Xvfb
+# session isn't left running. If we return 1, virtx will call die().
+chromium_profile() {
+ einfo "Profiling for PGO"
+
+ pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
+
+ # Remove old profdata in case profiling was interrupted.
+ rm -rf "${1}" || return 1
+
+ if ! "${EPYTHON}" ./chromium_profiler.py \
+ --chrome-executable "${S}/out/Release/chrome" \
+ --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
+ --add-arg no-sandbox --add-arg disable-dev-shm-usage \
+ --profile-output "${1}"; then
+ eerror "Profiling failed"
+ return 1
+ fi
+
+ popd >/dev/null || return 1
+}
+
+src_compile() {
+ if use pgo; then
+ local profdata
+
+ profdata="${WORKDIR}/chromium.profdata"
+
+ if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
+ chromium_compile
+ virtx chromium_profile "$profdata"
+
+ touch "${WORKDIR}/.pgo-profiled" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
+ # Remove phase 1 output
+ rm -r out/Release || die
+
+ chromium_configure 2 "$profdata"
+
+ touch "${WORKDIR}/.pgo-phase-2-configured" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
+ chromium_compile
+ touch "${WORKDIR}/.pgo-phase-2-compiled" || die
+ fi
+ else
+ chromium_compile
+ fi
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ rm -f out/Release/locales/*.pak.info || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_test() {
+ # Initial list of tests to skip pulled from Alpine. Thanks Lauren!
+ # https://issues.chromium.org/issues/40939315
+ local skip_tests=(
+ 'MessagePumpLibeventTest.NestedNotification*'
+ ClampTest.Death
+ OptionalTest.DereferencingNoValueCrashes
+ PlatformThreadTest.SetCurrentThreadTypeTest
+ RawPtrTest.TrivialRelocability
+ SafeNumerics.IntMaxOperations
+ StackTraceTest.TraceStackFramePointersFromBuffer
+ StringPieceTest.InvalidLengthDeath
+ StringPieceTest.OutOfBoundsDeath
+ ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker
+ ValuesUtilTest.FilePath
+ # Gentoo-specific
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2
+ AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3
+ CharacterEncodingTest.GetCanonicalEncodingNameByAliasName
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV
+ CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress
+ FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe
+ FileTest.GetInfoForCreationTime
+ ICUStringConversionsTest.ConvertToUtf8AndNormalize
+ NumberFormattingTest.FormatPercent
+ PathServiceTest.CheckedGetFailure
+ PlatformThreadTest.CanChangeThreadType
+ RustLogIntegrationTest.CheckAllSeverity
+ StackCanary.ChangingStackCanaryCrashesOnReturn
+ StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree
+ SysStrings.SysNativeMBAndWide
+ SysStrings.SysNativeMBToWide
+ SysStrings.SysWideToNativeMB
+ TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest
+ ToolsSanityTest.BadVirtualCallNull
+ ToolsSanityTest.BadVirtualCallWrongType
+ )
+ local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")"
+ # test-launcher-bot-mode enables parallelism and plain output
+ ./out/Release/base_unittests --test-launcher-bot-mode \
+ --test-launcher-jobs="$(makeopts_jobs)" \
+ --gtest_filter="${test_filter}" || die "Tests failed!"
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use X && use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+
+ if use bindist; then
+ # We built libffmpeg as a component library, but we can't distribute it
+ # with proprietary codec support. Remove it and make a symlink to the requested
+ # system library.
+ rm -f out/Release/libffmpeg.so \
+ || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
+ # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
+ einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
+ dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
+ /usr/$(get_libdir)/chromium-browser/libffmpeg.so
+ fi
+
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
+ doins out/Release/xdg-{settings,mime}
+
+ if ! use system-icu && ! use headless; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use qt5 && use qt6; then
+ elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
+ elog "environment. To override you need to pass --qt-version=5 or"
+ elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
+ elog "/etc/chromium/default."
+ fi
+ fi
+
+ if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then
+ ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd"
+ ewarn "indicates that the Gentoo handbook was not followed to completion."
+ ewarn ""
+ ewarn "Chromium is known to behave unpredictably with this system configuration;"
+ ewarn "please complete the configuration of this system before logging any bugs."
+ fi
+}
diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest
index b49ca05e822f..7a9309050b6b 100644
--- a/www-client/google-chrome-beta/Manifest
+++ b/www-client/google-chrome-beta/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-beta_131.0.6778.24-1_amd64.deb 112358700 BLAKE2B 84e151639a1d4aca6c4c2faef89df85b74d496eb14f04d950536ae042256e597ebb43299a6c9d2e1f79bb1bb9f084b36f5c3c56c8aaf55ee2b9718d3e98708e8 SHA512 7b673c565dfb42edf028a74f8397d960aff3a08962cc4070770c59664edabba2fa0818e1aec28fac7b5c6da7a1bb29cef223273d0f122ef7d06c011ae6e52c5b
-EBUILD google-chrome-beta-131.0.6778.24.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
+DIST google-chrome-beta_132.0.6834.6-1_amd64.deb 112643776 BLAKE2B 4607f30c55c642f0e718c0a39a8067705d33aeeaa6166d1e1785a8b9cc4131efe10c96d3d278c9a72145974b0a086ff084b806c39cf2fea533efe05e57b03c91 SHA512 c26a762b12b7d059ecec2a65db4d1aaee698a2bad28b99d93aa073476938a0dd10f2b9333e001d6c34e49b692f043e64add4a92dd2becbac1e5b032a294b05b0
+EBUILD google-chrome-beta-132.0.6834.6.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-beta/google-chrome-beta-131.0.6778.24.ebuild b/www-client/google-chrome-beta/google-chrome-beta-132.0.6834.6.ebuild
index dd9e9c497aea..dd9e9c497aea 100644
--- a/www-client/google-chrome-beta/google-chrome-beta-131.0.6778.24.ebuild
+++ b/www-client/google-chrome-beta/google-chrome-beta-132.0.6834.6.ebuild
diff --git a/www-client/google-chrome-unstable/Manifest b/www-client/google-chrome-unstable/Manifest
index da6b55d6d626..72a75a1f89cd 100644
--- a/www-client/google-chrome-unstable/Manifest
+++ b/www-client/google-chrome-unstable/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-unstable_132.0.6811.2-1_amd64.deb 111754848 BLAKE2B fd411f2cde00acfdecdee4c81a65046833047b4388994c2974fcd3aa396bd4d26b617415c9202a212145d9d947ce170b0a2cf933d2dbf4741fac97bdfcb10f94 SHA512 ec25135acb6e24337f230e42e6e7d55a87409c8d58744d0824b0f0014040f471543dc53319024b33ada0a19cbe1adc88a5a4532b71636e1d06eb9664c568d63f
-EBUILD google-chrome-unstable-132.0.6811.2.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
+DIST google-chrome-unstable_132.0.6821.2-1_amd64.deb 112128092 BLAKE2B 8b55f3dae0ae031025807dd2040cac64279eb9126d76757f5bbd1a56649191c9e69cf95fb6ccfde8828040c663477e82dee80f502bebfb397b5e598cb0d4990d SHA512 048ca18f7c73a9fa40149d6eaf6e0c64c9e3a6f37c726cc9247860b043a4ac8ed4456b08b37a7f3109fadfd0bf726aaca5965be1c6668208139ecf33b89a3350
+EBUILD google-chrome-unstable-132.0.6821.2.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-unstable/google-chrome-unstable-132.0.6811.2.ebuild b/www-client/google-chrome-unstable/google-chrome-unstable-132.0.6821.2.ebuild
index dd9e9c497aea..dd9e9c497aea 100644
--- a/www-client/google-chrome-unstable/google-chrome-unstable-132.0.6811.2.ebuild
+++ b/www-client/google-chrome-unstable/google-chrome-unstable-132.0.6821.2.ebuild
diff --git a/www-client/google-chrome/Manifest b/www-client/google-chrome/Manifest
index 77e78508a3c4..e081f7104ef4 100644
--- a/www-client/google-chrome/Manifest
+++ b/www-client/google-chrome/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-stable_130.0.6723.116-1_amd64.deb 111445052 BLAKE2B f1b5f0c9ff7c8306bd69bee4a2f7160a81325cf4c8677bd620bf57023a1220c212939f75a3ea6d162245e0caf57a7db5644e3bc45d2d32638d53d695024ca4b1 SHA512 1cbd8e30c00aeb37d319020af867ece8bebbfead892fc3ddf1f7308ca9fbea5358ce80c0faf30fa9b4045f5101c1dd657b51d97fb81e6cffe667b07e7d09fd18
-EBUILD google-chrome-130.0.6723.116.ebuild 2982 BLAKE2B 94c28a910834b70ccfa642f6e5372dce9e534bf5b9c210516958e8cd96c4b8e042d360a9fa5c85d13cbe4b152a26b7751f5f87ab832002fe21e83f2cdf03f47e SHA512 23c9d78446da4b7ceef659dd659af367733abb766207e343fc991122d13744e3d67b0919d9d6371df5fc43815301c062087e1ce8d685e41ad0613e352b8c96ee
+DIST google-chrome-stable_131.0.6778.69-1_amd64.deb 112472656 BLAKE2B b7e02bf6a5319a016590cd0b4da33cd282bcab7ce3c62e8f7b250175d5f1f356963c90ea2a16e86156a5166cfd6f358d2d9f004d8cb9568bbf623d3a94de21ae SHA512 47afd89418513f8e05b3206175abb0736ae263333d66ed8a2d78af8bf44978400612447ee6d846f35c45d97f3d8b5d3ea0ed9549b9e884f9dca11bdce0382ba8
+EBUILD google-chrome-131.0.6778.69.ebuild 2982 BLAKE2B 94c28a910834b70ccfa642f6e5372dce9e534bf5b9c210516958e8cd96c4b8e042d360a9fa5c85d13cbe4b152a26b7751f5f87ab832002fe21e83f2cdf03f47e SHA512 23c9d78446da4b7ceef659dd659af367733abb766207e343fc991122d13744e3d67b0919d9d6371df5fc43815301c062087e1ce8d685e41ad0613e352b8c96ee
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome/google-chrome-130.0.6723.116.ebuild b/www-client/google-chrome/google-chrome-131.0.6778.69.ebuild
index a6673ff33b80..a6673ff33b80 100644
--- a/www-client/google-chrome/google-chrome-130.0.6723.116.ebuild
+++ b/www-client/google-chrome/google-chrome-131.0.6778.69.ebuild
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index 40104a8c7145..50335fa5ac4e 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-beta_131.0.2903.14-1_amd64.deb 168610282 BLAKE2B 5e532b614b9e084dc5ae0267153be9c4df7ecd782a4e056fd81e38d20056ac62c4216e588292b9b5abecb6299f28bdb7f26e25933e373c00c9e8fcfd417f0797 SHA512 e61d48b7d413b962e319bb2b58ce6dcd89290a9b1be709f84af0a13d415aec4efc91c2e04ae620d39a285c7cadb15090c5789b78f8c3eea2c39257d6dc27412c
DIST microsoft-edge-beta_131.0.2903.27-1_amd64.deb 168662946 BLAKE2B efe292a1dcee997fd241fa441cd5b0b30b5345fd0a034ca410b427ac7932365ee747899c6ed223dc34d743a228ca321de51f9d7e01b265092487cc8138e04012 SHA512 62090b61b076855c71f29c0cab098378617b5bc30f344a0694295835c07746ac0b1d4059da8c8f73b95be09e4df59221f9fc3cf31afdc642140f96f41616a778
-DIST microsoft-edge-beta_131.0.2903.9-1_amd64.deb 168553442 BLAKE2B 541e2be92a34798b26a6c7c8b6be8933b67eefab59f84c19471a4dc00118298601c20d9ab071324a26a2f3a77033ab327d867d7575116c70054d6fb4acb37064 SHA512 aebeb9321b73dcfeb9ec0c0bc14c5f2a30c51f5682cbbee29dd04e84ba3c7c2340e44c5639f45ca1c08fffefdbe160482eb7d32a8728260c8d7a6561d31fc221
-EBUILD microsoft-edge-beta-131.0.2903.14.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+DIST microsoft-edge-beta_131.0.2903.36-1_amd64.deb 168700630 BLAKE2B 5d9c7bbf37eb6becdb2f47067766d3d02fb26522d4a14b1eb334fd39e4118a245e4183d624293bdfdbebbe005995618728f21efb14b257127ba7c3589fa71747 SHA512 8a79f1f3f51f03a2378827d476069be83af85be96c0bc956e962b43d14cc625acf8101a60ba1e9206ad1ca73ee9c657875dc87007c14787db1afc2655a172307
+DIST microsoft-edge-beta_131.0.2903.45-1_amd64.deb 168670394 BLAKE2B 6383afcf3c5052bf3adc457046921df6dd36c73ead7a124a82d4ae38fe48849abe523cbff2ebbdf45b7c769bf8a07b360cabdf94dbf9155c02d48fa83c7b198b SHA512 d31b1ea6a0ea067d257226e1f75f404d07b542443c286dc832c393601a61a2afaa1dd66ad6141abe33ec330b3c155bbf4106ae9b72a92d982d6913005e5b48bf
EBUILD microsoft-edge-beta-131.0.2903.27.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
-EBUILD microsoft-edge-beta-131.0.2903.9.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-beta-131.0.2903.36.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-beta-131.0.2903.45.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.14.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.36.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.14.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.36.ebuild
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.9.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.45.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.9.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-131.0.2903.45.ebuild
diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest
index 60e03842cb6f..027d20b2b329 100644
--- a/www-client/microsoft-edge-dev/Manifest
+++ b/www-client/microsoft-edge-dev/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-dev_131.0.2889.0-1_amd64.deb 168295106 BLAKE2B 5c0f6a799321f2577bf58d419ca9214f1d11346b5edfeb16bec3eace262ad290748fa308582fa2d0195aa91802d66d600e6e353b61ea22b94a6e9a14d402ddda SHA512 dddbccaf8c78e296ff692d6266843b824cb8ae5de79ea1a9dfdda1c4eeedda1d25d6c0eae43b44c39a216b0904d6a27e8e4b00c8ec467b535c802c3db627f15b
-DIST microsoft-edge-dev_131.0.2903.5-1_amd64.deb 168515450 BLAKE2B fd171e82dee660cddb424bc3097ea93b2fd942dc9683b28706031d605667c32f2ee9f28758f00542e10995b4dac937e7bfc47afd668d79238fb6a605d12b2fbf SHA512 8950b3e3dac00d9cfe9627c04e447acea93202c519b308d2c9e1a532e031f06e03fe5fbcd059c9ae63d9d11365014ff75e17a30d45ca06f1e09e76395cfc3ee5
DIST microsoft-edge-dev_132.0.2917.0-1_amd64.deb 168300670 BLAKE2B 6e05e8d8454f6e1325838d33c4db997eb75e6c033682e460292e7cce36ee2564925fa9f891a52e302e382327e232d6e6ec588f2fd1ad3261450a8ed9c0db3d62 SHA512 9fe06a6ca6efb14ca0e7b09dbcb4d3a49c9e102669a3aae2dbb03ef3c699321bfd2d76c1416d6f7164ff919b2709045e502a442c8abea81d40c3599dc8fd359a
-EBUILD microsoft-edge-dev-131.0.2889.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
-EBUILD microsoft-edge-dev-131.0.2903.5.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+DIST microsoft-edge-dev_132.0.2931.1-1_amd64.deb 168459646 BLAKE2B f2fe028d9d2be71663259b7ad3ac5536cccb41838ef3880973c0deaffecc0645ef927bf1a104b4b31dc7afa48527d1ba5b7264e618b8671c0e9259107306a85f SHA512 9461fd46231896da1165f126684a959a2bf1a143a63653fde53d472e4d1b708e2ee4b1fd80324708a9e854f03c827bd83a79c4d69f1bf97619b448398ff20953
+DIST microsoft-edge-dev_132.0.2945.0-1_amd64.deb 167522826 BLAKE2B c8eef0712875ec6bfc16e9652d91117bb9b1afa12486c71357044eab0138f14b631818f0361ba27f291d2e130fbe4a037668a7eee3b50c0c6653574096067f1f SHA512 5199eb4abc65b6287db086c9162c2264acc82bb1fa45dbe1fb292730af0d7bca6eeba9e5d83750b7a1e26d546bdab2519a4622067086b03143731fe87664ef38
EBUILD microsoft-edge-dev-132.0.2917.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-dev-132.0.2931.1.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-dev-132.0.2945.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-131.0.2889.0.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-132.0.2931.1.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-131.0.2889.0.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-132.0.2931.1.ebuild
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-131.0.2903.5.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-132.0.2945.0.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-131.0.2903.5.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-132.0.2945.0.ebuild
diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest
index b75faae617eb..adfc816cdc27 100644
--- a/www-client/microsoft-edge/Manifest
+++ b/www-client/microsoft-edge/Manifest
@@ -1,3 +1,3 @@
-DIST microsoft-edge-stable_130.0.2849.68-1_amd64.deb 166806954 BLAKE2B 70173ed2cb9241efaadc16717c2c29c48b16d67ed34d248affa29553a287cb74f254f130f581e616bd1f3a1d61b762532aa155e888ff07d0e6c937cf07eb28ad SHA512 d7f4400788b993ec5ab02d6e585c44d726a4a5ffe41a3a30460d64b7e283215dc0a98e03efddcf44d8536d11a2f6a377392102c00b84eaecb612d5a9f0c52a0c
-EBUILD microsoft-edge-130.0.2849.68.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a
+DIST microsoft-edge-stable_130.0.2849.80-1_amd64.deb 166816954 BLAKE2B 65fc5648eed22882f53cfe3c7908b3ca5b4c24e34346024ca66ddab91856145df953379a3f063180cc7a14f3e5f93772e92e581d375040840ef10211a94dbf46 SHA512 e73884221d6d02e2f12509651b88062dfcb97cbba7d1bf6d208c9b1469af24ebb777e365f9c2380de35b39aeb21feebd2a0b626304ce631bdcc41d7f7da6c1c0
+EBUILD microsoft-edge-130.0.2849.80.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge/microsoft-edge-130.0.2849.68.ebuild b/www-client/microsoft-edge/microsoft-edge-130.0.2849.80.ebuild
index 7ea339bd40f9..7ea339bd40f9 100644
--- a/www-client/microsoft-edge/microsoft-edge-130.0.2849.68.ebuild
+++ b/www-client/microsoft-edge/microsoft-edge-130.0.2849.80.ebuild
diff --git a/www-client/opera-developer/Manifest b/www-client/opera-developer/Manifest
index 8b2da76865ee..f3c75f212f7c 100644
--- a/www-client/opera-developer/Manifest
+++ b/www-client/opera-developer/Manifest
@@ -1,7 +1,7 @@
-DIST opera-developer_116.0.5326.0_amd64.deb 127187832 BLAKE2B 385ff427071e1a079f0edbac3bb47c7908d8d90af18aae1046c4ec2f90eb59834856962360b562802c6e507ab8f1efca30d5c0f2477821bf9f25caeed5743216 SHA512 a3e21d04c1c5d0b4b6e9aa4f14108d3a50224e4d861094ad1d25034017343d2a5b0c98a61a1cbfc56ed9382b5f0aee62d005fc4c2977f46267eedfa001c968b7
DIST opera-developer_116.0.5335.0_amd64.deb 127212600 BLAKE2B 65cdbbce5315e807e18fccefa701764101451a8ad1bbe9d9923b78c3c5e3f4b40a15b5011e383943c4651a0cd3b6b804c3754d7bb7bddfc0eabf3eb7cf854d40 SHA512 445f03f6e262385c25300c43c69abbd2926f0fa85276b60468797767bb91f6acfdc68ad5238136a5ed0a486ebba7986a4ca4db6b9375323585b1dfc9c714c127
DIST opera-developer_116.0.5341.0_amd64.deb 127258536 BLAKE2B 67597e0706829091c1c07cecead151e63e3a61ccd4d2a56f40c1216f2a90b61faf57b480c2ac6fb422e7c855525f2cb593a66f4382d8774ee14ccc4647b92330 SHA512 2c13e5bd246f8dbb13f8666c29ca0a1fc2a3558f0231c73119da7002652aeaf56b280007979e526c81b6a311ae6dadce3611a59f360a64a701e4463057472d3f
-EBUILD opera-developer-116.0.5326.0.ebuild 4223 BLAKE2B 808fa7f9a518d480ec475c560db3096afe1703c1ba1221d541a4c3907b556615532b9cc259f10caa44929828a182a1a67c4a264a339834239d7aa6b460ca1cc0 SHA512 9d637136d1f35cb559d76155d46c4c800a03e432c384d186418ea4b099e417f36b0dfa4c52920432d8cf3ffe57ff31d7945fb1acc601be9f93a9a2f7d9aa2dee
+DIST opera-developer_116.0.5351.0_amd64.deb 127473264 BLAKE2B 2ddec1dce642b7aa5005dc46d34b9ec355e474afa1308b299e7ee02f9f6b9eed269bc4dd4f468ef487c2a80e9ad9a4411cdd887f1139071cb4b23f395d5f4170 SHA512 239878a95ca3cd23fe1dd1099b3f34593e62aa0eef75bd4519517eeeb327f23b20c360a868be44d2a9b41f77e6f6b857f20b130d343941c8167913113ca4174a
EBUILD opera-developer-116.0.5335.0.ebuild 4223 BLAKE2B 808fa7f9a518d480ec475c560db3096afe1703c1ba1221d541a4c3907b556615532b9cc259f10caa44929828a182a1a67c4a264a339834239d7aa6b460ca1cc0 SHA512 9d637136d1f35cb559d76155d46c4c800a03e432c384d186418ea4b099e417f36b0dfa4c52920432d8cf3ffe57ff31d7945fb1acc601be9f93a9a2f7d9aa2dee
EBUILD opera-developer-116.0.5341.0.ebuild 4223 BLAKE2B 808fa7f9a518d480ec475c560db3096afe1703c1ba1221d541a4c3907b556615532b9cc259f10caa44929828a182a1a67c4a264a339834239d7aa6b460ca1cc0 SHA512 9d637136d1f35cb559d76155d46c4c800a03e432c384d186418ea4b099e417f36b0dfa4c52920432d8cf3ffe57ff31d7945fb1acc601be9f93a9a2f7d9aa2dee
+EBUILD opera-developer-116.0.5351.0.ebuild 4223 BLAKE2B 808fa7f9a518d480ec475c560db3096afe1703c1ba1221d541a4c3907b556615532b9cc259f10caa44929828a182a1a67c4a264a339834239d7aa6b460ca1cc0 SHA512 9d637136d1f35cb559d76155d46c4c800a03e432c384d186418ea4b099e417f36b0dfa4c52920432d8cf3ffe57ff31d7945fb1acc601be9f93a9a2f7d9aa2dee
MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777
diff --git a/www-client/opera-developer/opera-developer-116.0.5326.0.ebuild b/www-client/opera-developer/opera-developer-116.0.5351.0.ebuild
index d1438a2bae9a..d1438a2bae9a 100644
--- a/www-client/opera-developer/opera-developer-116.0.5326.0.ebuild
+++ b/www-client/opera-developer/opera-developer-116.0.5351.0.ebuild
diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest
index 75c62a455406..3267cb9a5863 100644
--- a/www-client/opera/Manifest
+++ b/www-client/opera/Manifest
@@ -1,3 +1,3 @@
-DIST opera-stable_114.0.5282.154_amd64.deb 124817092 BLAKE2B 1ee353ab732f509d8666ee62647cb3c39da33cda752ecd2ce343062741033b638a3a3cbe184fc5e012b068126af752d7aa0c728c39062085e0b43ec3e854738a SHA512 af5aeeb7c384e83461de727ef2a6011005a58ace8ab59eccbf004afd602c1a38456312465441fe3c3bf8258b43a038be02efc824f426642fb44ee6e17a9a507a
-EBUILD opera-114.0.5282.154.ebuild 4222 BLAKE2B 8788f7b4c9d6f8bad81e150ef00a688c3e967262c2f10f4deb7d4b90ebc4af07f1804e36f85f3a712bb012bd3c864f25a8489d80688c50e708de78e14226ac5e SHA512 5d6d9754c44433025466a382e5290c6dec35c11e7e120eff495046119f26ee49bdb25e9f201ed4142d1b7932f8f3baac2290df1664abdf9ee75944ad14181251
+DIST opera-stable_114.0.5282.185_amd64.deb 125096672 BLAKE2B 8acf25ce884e82e7e7f086ead25f16faef80f62daf73ed0fce2a86d45abbb38e5e2972367c77fc0a38a7bd84382a846aacd6cd45faa626455485b38c1564d0f0 SHA512 f047c0f2683f6c2bb46d389c0888c4dbb3dc4f9ad146bb7818a38d1de80485ec9398df69feba15eb1d2dd2affdbb0a5420fe7ff540ab867e509a6e10f79a688a
+EBUILD opera-114.0.5282.185.ebuild 4222 BLAKE2B 8788f7b4c9d6f8bad81e150ef00a688c3e967262c2f10f4deb7d4b90ebc4af07f1804e36f85f3a712bb012bd3c864f25a8489d80688c50e708de78e14226ac5e SHA512 5d6d9754c44433025466a382e5290c6dec35c11e7e120eff495046119f26ee49bdb25e9f201ed4142d1b7932f8f3baac2290df1664abdf9ee75944ad14181251
MISC metadata.xml 544 BLAKE2B 94b2f6807c021794769fc62b041c69bd08a0d307c51db96109bd45a1fff240d586c51daa91e894055e47291505750f07e9054b6b1b364a691c18f5711acbe9b4 SHA512 691c7b62fa7c8a46e4cc981a2f211a1609b1c57620aca668b001eeaa2cbcd2f38299680c4707a73a8f32ee19b054cd131a2b09600bac30b8530af35142694ff7
diff --git a/www-client/opera/opera-114.0.5282.154.ebuild b/www-client/opera/opera-114.0.5282.185.ebuild
index 093348a81d31..093348a81d31 100644
--- a/www-client/opera/opera-114.0.5282.154.ebuild
+++ b/www-client/opera/opera-114.0.5282.185.ebuild