From 782ce86e028f083bc3ad28d3a1fd28a344f0413b Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@koprulu.sector>
Date: Fri, 3 Nov 2023 15:52:15 +0000
Subject: gentoo auto-resync : 03:11:2023 - 15:52:15

---
 www-client/Manifest.gz                             |  Bin 6042 -> 6046 bytes
 www-client/chromium/Manifest                       |    6 +-
 www-client/chromium/chromium-118.0.5993.88.ebuild  | 1221 -------------------
 www-client/chromium/chromium-119.0.6045.105.ebuild | 1254 ++++++++++++++++++++
 www-client/chromium/chromium-119.0.6045.59.ebuild  | 1254 --------------------
 www-client/google-chrome-beta/Manifest             |    4 +-
 .../google-chrome-beta-119.0.6045.59.ebuild        |  132 ---
 .../google-chrome-beta-120.0.6099.5.ebuild         |  132 +++
 www-client/google-chrome/Manifest                  |    4 +-
 .../google-chrome-118.0.5993.117.ebuild            |  132 ---
 .../google-chrome-119.0.6045.105.ebuild            |  132 +++
 www-client/links/Manifest                          |    2 -
 www-client/links/links-2.28-r3.ebuild              |  176 ---
 www-client/microsoft-edge-beta/Manifest            |    8 +-
 .../microsoft-edge-beta-119.0.2151.24.ebuild       |  127 --
 .../microsoft-edge-beta-119.0.2151.32.ebuild       |  127 --
 .../microsoft-edge-beta-119.0.2151.42.ebuild       |  127 ++
 .../microsoft-edge-beta-119.0.2151.44.ebuild       |  127 ++
 www-client/microsoft-edge-dev/Manifest             |    4 +-
 .../microsoft-edge-dev-119.0.2151.2.ebuild         |  127 --
 .../microsoft-edge-dev-120.0.2186.2.ebuild         |  127 ++
 www-client/microsoft-edge/Manifest                 |    4 +-
 .../microsoft-edge-118.0.2088.76.ebuild            |  127 --
 .../microsoft-edge-119.0.2151.44.ebuild            |  127 ++
 24 files changed, 2040 insertions(+), 3441 deletions(-)
 delete mode 100644 www-client/chromium/chromium-118.0.5993.88.ebuild
 create mode 100644 www-client/chromium/chromium-119.0.6045.105.ebuild
 delete mode 100644 www-client/chromium/chromium-119.0.6045.59.ebuild
 delete mode 100644 www-client/google-chrome-beta/google-chrome-beta-119.0.6045.59.ebuild
 create mode 100644 www-client/google-chrome-beta/google-chrome-beta-120.0.6099.5.ebuild
 delete mode 100644 www-client/google-chrome/google-chrome-118.0.5993.117.ebuild
 create mode 100644 www-client/google-chrome/google-chrome-119.0.6045.105.ebuild
 delete mode 100644 www-client/links/links-2.28-r3.ebuild
 delete mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.24.ebuild
 delete mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.32.ebuild
 create mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.42.ebuild
 create mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.44.ebuild
 delete mode 100644 www-client/microsoft-edge-dev/microsoft-edge-dev-119.0.2151.2.ebuild
 create mode 100644 www-client/microsoft-edge-dev/microsoft-edge-dev-120.0.2186.2.ebuild
 delete mode 100644 www-client/microsoft-edge/microsoft-edge-118.0.2088.76.ebuild
 create mode 100644 www-client/microsoft-edge/microsoft-edge-119.0.2151.44.ebuild

(limited to 'www-client')

diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index 251b9848aaf6..1a36ee599e98 100644
Binary files a/www-client/Manifest.gz and b/www-client/Manifest.gz differ
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 3239d46eb44b..5d523b02ffc0 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -7,14 +7,12 @@ AUX chromium-launcher-r7.sh 1631 BLAKE2B ae28d758264446511fd2b64ba69fe920144b351
 AUX chromium-use-oauth2-client-switches-as-default.patch 1085 BLAKE2B baf3c463305934c126af4f7c5be305863edc7eec3add5b5ada30565b49b5944021eb40f1a9643e7eec3f973c502d9b02426f00b760570fcea5f1509219e41c6f SHA512 fe2878ee45778bac894ea17a668511d27ad2ca40988d5f11439790b700bfefd6560f3931415b4e6c543fcbbfc7cfef55cc757ed4ace1d111039ae78c46b81945
 AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
 DIST chromium-118.0.5993.117.tar.xz 3249866084 BLAKE2B 1c832dcd3e4e42d9e19960fb4edd437467571caf1a482b90d47b68148fb91d4fba92e350756aa73549a3d3b93c76b465e4d8b205a0d26656ee7003b3092e3674 SHA512 b0d51198af2ecd47199dc06cd829587fcb371d3632623c492cee55de7b11ddf6afec61f016ba4291e379705ec5f2e10b01aa92e493a16ce0ed8dbcdab44ec383
-DIST chromium-118.0.5993.88.tar.xz 3245581816 BLAKE2B 4e91ad5a5beaa5fd3a8e8b979f47626314fb43a7c1cc84c0b78fb656b7a7b10c4cbfad1767406c6d13ad38b8a91ba4be5aec9c085537bd597cad9f6a9a1005d5 SHA512 343700a61102a63c8095d813203a553cde1d0e3a5dca1f11d2ce9752ed5595d953c700e23ab91993626539cd8e831b11820b8b85fe2f51f16517254a43cd1360
-DIST chromium-119.0.6045.59.tar.xz 3292462336 BLAKE2B 28d4cd01ff314bbf99c2e74bb93667300ea30bb05954fec1bf1f24e2e21ca538760ed03ac419c919b41886ab3dc6d9ad508a3a796117c6b0534e75170ef6eac5 SHA512 0b66e1111fb25bba35d1747ee256e926971545a72543f34256cd0bf6c690cef8da553884f897b28576a68ab92fa0ff47a5880bbbf243c07198fde4d2a7e5110d
+DIST chromium-119.0.6045.105.tar.xz 3299629128 BLAKE2B aa50beb6ec4b2fe251fcb4b8184b61a1915e46af4f3cb27f5929f32dcf456ec1dea84b29b3dec8888a0ea4366b90ac09fbeb5e9536bf02a3ff88f8e1e092a2a9 SHA512 ba621323fc4333d02ae3c9ee808af9b2fbe8ed4ce32df8a52a799f6514c788de4eab58d8a7fac7d8a01ad5dd1de6f9fea78e50b537ea920f55f36a0daf41850c
 DIST chromium-patches-118-2.tar.bz2 12691 BLAKE2B 0cd726527151107ff2b48a1adcc3591808373b4758626a41033a8b28f1819e85d5912381a2c46f6e56c26a3d4397b3c6d679c9b3769d74ecde904bc364ac254d SHA512 4554871f799840e118cf2ceca1996eabe6219918023abe8bf8a2a8dc42ac3439403a9d8b4a2feab6db1ece9228e8f92eecbe531957c92b467c5e66a3b021a036
 DIST chromium-patches-119-3.tar.bz2 8345 BLAKE2B 70b10a231a71ce8ffc5e4f52450113c46f921a9f08eb95d4adbea0738cfab33fba763c54997a7ef6f36e35df850409062a330eeb8535679b800672de5697ca21 SHA512 a1897ea92a9a686bdf93c4ec379ed1c4c5febe1bdaba908ddb2ec0169d8e08b076d2a6ea1e88dd2d0a22dc4972dbfcbab2d3166e95e55ed9c566235e301a6050
 DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
 DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
 DIST chromium_118.0.5993.70-1raptor0~deb11u1.debian.tar.xz 1677024 BLAKE2B 82cdbb1c30ae333e0a821ca15fbdda902ea31c5072c3e70372dc6fbadf6837e8445c33e741f3820c0d174a91d90c3bd05e8d9aaad988c2605028a46e138e4279 SHA512 86da39eef033a51e9abb0fc096ea4688a4a956b675fee92d3ae0ca165d6ca406807320d6e03785e0f11cc98c49b860500387e75b6b4d4aa9a8d94c04c001ac39
 EBUILD chromium-118.0.5993.117.ebuild 37591 BLAKE2B 23193aa30b0217d1428fe0b429dca1e560cc23cb8209c43699638682d4da0aab15d97a81254f2c2221c192e85bd6dfd741f0bc6295eec29182f2ec005d35ae42 SHA512 04fbb241dcaaeca349c5a5b37c89654bde9e4a0747322887966083d459028be3a548c9abc31802e6d94845525414ba4d206607b35991bb745ac3e1c480909f8a
-EBUILD chromium-118.0.5993.88.ebuild 37424 BLAKE2B 0d65aa79b9bc1c362ebd98ac06ff16be15dbe802a811d27b85f5fb9dd59e6d6d5b8bdf340b75bbeafadbb433a692e8ed5a44fbea3aaa373b9ccc97c50b7b45db SHA512 a9d176cbacc0294d946f95c545e095408736d0b5704b563a028cec40e1b25051426e3b1f7f67e370fe400272eb3f62b5602c6f7a442add0d7df8e29f540a43d6
-EBUILD chromium-119.0.6045.59.ebuild 38892 BLAKE2B b9cabe8ab39b4f1fb7a8bb22d521499ebdc2ebe74ca253bfa494049e51ad8dbb0d4adce11188991e569a72b8235036763f2a4164fc955617592de3da4c17c0a8 SHA512 5ab94675ed7dd4f5e2d3525cb8744f9b3a19dd5edf639f3110960b0a10c6a75a2295676dc72860f0db9123242279829bf6f7b01a2d7f1880997a740bd58abcfb
+EBUILD chromium-119.0.6045.105.ebuild 38894 BLAKE2B b284821966e08bc3c149e991bda726b0f75a8c73fbb6670b3a41bd900a3f2550cf229c9233882226a582f0b025ac00581129a45465749de076081cbc23e3dfd7 SHA512 f0e30d2c592d423fb0b7ce82ed41dfab7101077d93949fb82d2c81a02bfdd47e3f736c9a7439a6639527816dc8be54eb5e4c47a7c399b89e0f896427b979248a
 MISC metadata.xml 1992 BLAKE2B ef74dcdbcaf0dd2bdc190775f9ca899f4b519f4195a52e10e295c0159c3ca785428bc85768e6ebf98ffcde63bb58af445b00408533277b959dbd74537a1e340b SHA512 d0a2151e8fb7af824ad9e1b7f81dd776cb345fe0e97b919a654e9091bf98345bfb3e235c4e257bcf53fa3d3a4ee2dc20fc4e5f21116bfdee45baf66271372c44
diff --git a/www-client/chromium/chromium-118.0.5993.88.ebuild b/www-client/chromium/chromium-118.0.5993.88.ebuild
deleted file mode 100644
index 7ffacf75dc90..000000000000
--- a/www-client/chromium/chromium-118.0.5993.88.ebuild
+++ /dev/null
@@ -1,1221 +0,0 @@
-# Copyright 2009-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Can't do 12 yet: heavy use of imp, among other things (bug #915001, bug #915062)
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="xml(+)"
-LLVM_MAX_SLOT=17
-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"
-
-inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils
-inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="https://www.chromium.org/"
-PATCHSET_PPC64="118.0.5993.70-1raptor0~deb11u1"
-PATCH_V="${PV%%\.*}-2"
-SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
-	https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
-	ppc64? (
-		https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
-		https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
-	)
-	pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
-
-LICENSE="BSD"
-SLOT="0/stable"
-KEYWORDS="amd64 arm64 ~ppc64"
-IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
-IUSE="+X ${IUSE_SYSTEM_LIBS} cups debug gtk4 +hangouts headless kerberos libcxx lto +official pax-kernel pgo +proprietary-codecs pulseaudio qt5 qt6 screencast selinux vaapi wayland widevine"
-REQUIRED_USE="
-	screencast? ( wayland )
-	!headless? ( || ( X wayland ) )
-	pgo? ( X !wayland )
-	qt6? ( qt5 )
-"
-
-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-71.1:= )
-	>=dev-libs/libxml2-2.9.4-r3:=[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-libs/libX11:=
-			x11-libs/libXext:=
-			x11-libs/libxcb:=
-		)
-		x11-libs/libxkbcommon:=
-		wayland? (
-			dev-libs/libffi:=
-			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 )
-"
-DEPEND="${COMMON_DEPEND}
-	!headless? (
-		gtk4? ( gui-libs/gtk:4[X?,wayland?] )
-		!gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
-	)
-"
-
-depend_clang_llvm_version() {
-	echo "sys-devel/clang:$1"
-	echo "sys-devel/llvm:$1"
-	echo "=sys-devel/lld-$1*"
-}
-
-depend_clang_llvm_versions() {
-	local _v
-	if [[ $# -gt 1 ]]; then
-		echo "|| ("
-		for _v in "$@"; do
-			echo "("
-			depend_clang_llvm_version "${_v}"
-			echo ")"
-		done
-		echo ")"
-	elif [[ $# -eq 1 ]]; then
-		depend_clang_llvm_version "$1"
-	fi
-}
-
-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 )
-	)
-	libcxx? ( >=sys-devel/clang-17 )
-	lto? ( $(depend_clang_llvm_versions 17) )
-	pgo? (
-		>=dev-python/selenium-3.141.0
-		>=dev-util/web_page_replay_go-20220314
-		$(depend_clang_llvm_versions 17)
-	)
-	dev-lang/perl
-	>=dev-util/gn-0.2114
-	>=dev-util/gperf-3.0.3
-	>=dev-util/ninja-1.7.2
-	dev-vcs/git
-	>=net-libs/nodejs-7.6.0[inspector]
-	>=sys-devel/bison-2.4.3
-	sys-devel/flex
-	virtual/pkgconfig
-"
-
-# These are intended for ebuild maintainer use to force clang if GCC is broken.
-: ${CHROMIUM_FORCE_CLANG=no}
-
-if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
-	BDEPEND+=" >=sys-devel/clang-17"
-fi
-
-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}]"
-}
-
-needs_clang() {
-	[[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo
-}
-
-llvm_check_deps() {
-	if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
-		einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
-		return 1
-	fi
-
-	if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
-		einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
-		return 1
-	fi
-
-	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
-}
-
-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=18
-	local EXTRA_DISK=1
-	local CHECKREQS_MEMORY="4G"
-	tc-is-cross-compiler && EXTRA_DISK=2
-	if use 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() {
-	pre_build_checks
-
-	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} since USE=headless is set."
-		done
-	fi
-}
-
-pkg_setup() {
-	if use lto || use pgo; then
-		llvm_pkg_setup
-	fi
-
-	pre_build_checks
-
-	if [[ ${MERGE_TYPE} != binary ]]; then
-		local -x CPP="$(tc-getCXX) -E"
-		if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 12; then
-			die "At least gcc 12 is required"
-		fi
-		if use pgo && tc-is-cross-compiler; then
-			die "The pgo USE flag cannot be used when cross-compiling"
-		fi
-		if needs_clang && ! tc-is-clang; then
-			if tc-is-cross-compiler; then
-				CPP="${CBUILD}-clang++ -E"
-			else
-				CPP="${CHOST}-clang++ -E"
-			fi
-			if ver_test "$(clang-major-version)" -lt 17; then
-				die "At least clang 17 is required"
-			fi
-		fi
-	fi
-
-	chromium_suid_sandbox_check_kernel_config
-}
-
-src_prepare() {
-	# Calling this here supports resumption via FEATURES=keepwork
-	python_setup
-
-	# disable global media controls, crashes with libstdc++
-	sed -i -e \
-		"/\"GlobalMediaControlsCastStartStop\",/{n;s/ENABLED/DISABLED/;}" \
-		"chrome/browser/media/router/media_router_feature.cc" || die
-
-	local PATCHES=(
-		"${WORKDIR}/chromium-patches-${PATCH_V}"
-		"${FILESDIR}/chromium-cross-compile.patch"
-		"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
-		"${FILESDIR}/chromium-108-EnumTable-crash.patch"
-		"${FILESDIR}/chromium-109-system-zlib.patch"
-		"${FILESDIR}/chromium-111-InkDropHost-crash.patch"
-	)
-
-	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" )
-	fi
-
-	default
-
-	mkdir -p third_party/node/linux/node-linux-x64/bin || 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
-	sed -i -e "s|vpython3|${EPYTHON}|g" testing/xvfb.py || die
-
-	local keeplibs=(
-		base/third_party/cityhash
-		base/third_party/double_conversion
-		base/third_party/dynamic_annotations
-		base/third_party/icu
-		base/third_party/nspr
-		base/third_party/superfasthash
-		base/third_party/symbolize
-		base/third_party/valgrind
-		base/third_party/xdg_mime
-		base/third_party/xdg_user_dirs
-		buildtools/third_party/libc++
-		buildtools/third_party/libc++abi
-		chrome/third_party/mozilla_security_manager
-		courgette/third_party
-		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/apple_apsl
-		third_party/axe-core
-		third_party/blink
-		third_party/bidimapper
-		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/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/dawn
-		third_party/dawn/third_party/gn/webgpu-cts
-		third_party/dawn/third_party/khronos
-		third_party/dav1d
-		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/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/lighthouse
-		third_party/devtools-frontend/src/front_end/third_party/lit
-		third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
-		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/rxjs
-		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/test/unittests/front_end/third_party/i18n
-		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/fdlibm
-		third_party/fft2d
-		third_party/ffmpeg
-		third_party/flatbuffers
-		third_party/fp16
-		third_party/freetype
-		third_party/fusejs
-		third_party/fxdiv
-		third_party/highway
-		third_party/liburlpattern
-		third_party/libzip
-		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/hunspell
-		third_party/iccjpeg
-		third_party/inspector_protocol
-		third_party/ipcz
-		third_party/jinja2
-		third_party/jsoncpp
-		third_party/jstemplate
-		third_party/khronos
-		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/libevent
-		third_party/libgav1
-		third_party/libjingle
-		third_party/libphonenumber
-		third_party/libsecret
-		third_party/libsrtp
-		third_party/libsync
-		third_party/libudev
-		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/llvm
-		third_party/lottie
-		third_party/lss
-		third_party/lzma_sdk
-		third_party/mako
-		third_party/maldoca
-		third_party/maldoca/src/third_party/tensorflow_protos
-		third_party/maldoca/src/third_party/zlibwrapper
-		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/mozilla
-		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/base
-		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/pffft
-		third_party/ply
-		third_party/polymer
-		third_party/private-join-and-compute
-		third_party/private_membership
-		third_party/protobuf
-		third_party/pthreadpool
-		third_party/puffin
-		third_party/pyjson5
-		third_party/pyyaml
-		third_party/qcms
-		third_party/re2
-		third_party/rnnoise
-		third_party/s2cellid
-		third_party/securemessage
-		third_party/selenium-atoms
-		third_party/shell-encryption
-		third_party/simplejson
-		third_party/skia
-		third_party/skia/include/third_party/vulkan
-		third_party/skia/third_party/vulkan
-		third_party/smhasher
-		third_party/snappy
-		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/subzero
-		third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
-		third_party/swiftshader/third_party/SPIRV-Tools
-		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/ruy
-		third_party/six
-		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/zxcvbn-cpp
-		third_party/zlib/google
-		url/third_party/mozilla
-		v8/src/third_party/siphash
-		v8/src/third_party/valgrind
-		v8/src/third_party/utf8-decoder
-		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
-	)
-
-	# 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
-
-	if use libcxx; then
-		keeplibs+=( third_party/libc++ )
-	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
-		sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \
-			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
-
-	einfo "Unbundling third-party libraries ..."
-	# Remove most bundled libraries. Some are still needed.
-	build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
-
-	# 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=""
-
-	# Make sure the build system will use the right tools, bug #340795.
-	tc-export AR CC CXX NM
-
-	if needs_clang && ! tc-is-clang; then
-		# Force clang since gcc is either broken or build is using libcxx.
-		if tc-is-cross-compiler; then
-			CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
-			CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
-			BUILD_CC=${CBUILD}-clang
-			BUILD_CXX=${CBUILD}-clang++
-		else
-			CC=${CHOST}-clang
-			CXX=${CHOST}-clang++
-		fi
-		strip-unsupported-flags
-	fi
-
-	if tc-is-clang; then
-		myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
-	else
-		myconf_gn+=" is_clang=false"
-	fi
-
-	# Force lld for lto builds only, otherwise disable, bug 641556
-	if use lto || use pgo; then
-		myconf_gn+=" use_lld=true"
-	else
-		myconf_gn+=" use_lld=false"
-	fi
-
-	if use lto; then
-		AR=llvm-ar
-		NM=llvm-nm
-		if tc-is-cross-compiler; then
-			BUILD_AR=llvm-ar
-			BUILD_NM=llvm-nm
-		fi
-	fi
-
-	# Define a custom toolchain for GN
-	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
-
-	# Disable rust for now; it's only used for testing and we don't need the additional bdep
-	myconf_gn+=" enable_rust=false"
-
-	# 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
-
-	# 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
-
-	# TODO: link_pulseaudio=true for GN.
-
-	myconf_gn+=" disable_fieldtrial_testing_config=true"
-
-	# Never use bundled gold binary. Disable gold linker flags for now.
-	# Do not use bundled clang.
-	# Trying to use gold results in linker crash.
-	myconf_gn+=" use_gold=false use_sysroot=false"
-	myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)"
-
-	# 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"
-
-	ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
-	myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
-	myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
-
-	# 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
-
-		if tc-is-gcc; then
-			# https://bugs.gentoo.org/904455
-			append-cxxflags "$(test-flags-CXX -fno-tree-vectorize)"
-			# https://bugs.gentoo.org/912381
-			filter-lto
-		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
-
-	# Make sure that -Werror doesn't get added to CFLAGS by the build system.
-	# Depending on GCC version the warnings are different and we don't want
-	# the build to fail because of that.
-	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
-
-	# Disable unknown warning message from clang.
-	if tc-is-clang; then
-		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
-	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
-
-	# 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
-
-	# Results in undefined references in chrome linking, may require CFI to work
-	if use arm64; then
-		myconf_gn+=" arm_control_flow_integrity=\"none\""
-	fi
-
-	# Enable official builds
-	myconf_gn+=" is_official_build=$(usex official true false)"
-	myconf_gn+=" use_thin_lto=$(usex lto true false)"
-	myconf_gn+=" thin_lto_enable_optimizations=$(usex lto 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
-		# Disable CFI: unsupported for GCC, requires clang+lto+lld
-		myconf_gn+=" is_cfi=false"
-		# 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
-
-	# user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
-	if use arm64 && tc-is-gcc; then
-		sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
-			third_party/crc32c/src/src/crc32c_arm64.cc || die
-	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
-
-	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_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
-	(
-		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
-}
diff --git a/www-client/chromium/chromium-119.0.6045.105.ebuild b/www-client/chromium/chromium-119.0.6045.105.ebuild
new file mode 100644
index 000000000000..6e550852e5b8
--- /dev/null
+++ b/www-client/chromium/chromium-119.0.6045.105.ebuild
@@ -0,0 +1,1254 @@
+# Copyright 2009-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Can't do 12 yet: heavy use of imp, among other things (bug #915001, bug #915062)
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="xml(+)"
+
+# These variables let us easily bound supported compiler versions in one place.
+# The bundled Clang is updated by Google every ~two weeks, so we can't
+# just assume that anything other than the latest version in ::gentoo
+# will work (and even that will probably break occasionally)
+LLVM_MAX_SLOT=17
+LLVM_MIN_SLOT=16
+MIN_GCC_VER=12
+GN_MIN_VER=0.2122
+
+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"
+
+inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils
+inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://www.chromium.org/"
+PATCHSET_PPC64="118.0.5993.70-1raptor0~deb11u1"
+PATCH_V="${PV%%\.*}-3"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+	https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
+	ppc64? (
+		https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
+		https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
+	)
+	pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
+
+LICENSE="BSD"
+SLOT="0/stable"
+KEYWORDS="~amd64 ~arm64"
+IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
+IUSE="+X ${IUSE_SYSTEM_LIBS} cups debug gtk4 +hangouts headless kerberos libcxx lto +official pax-kernel pgo +proprietary-codecs pulseaudio qt5 qt6 screencast selinux vaapi wayland widevine"
+REQUIRED_USE="
+	screencast? ( wayland )
+	!headless? ( || ( X wayland ) )
+	pgo? ( X !wayland )
+	qt6? ( qt5 )
+"
+
+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-71.1:= )
+	>=dev-libs/libxml2-2.9.4-r3:=[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-libs/libX11:=
+			x11-libs/libXext:=
+			x11-libs/libxcb:=
+		)
+		x11-libs/libxkbcommon:=
+		wayland? (
+			dev-libs/libffi:=
+			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 )
+"
+DEPEND="${COMMON_DEPEND}
+	!headless? (
+		gtk4? ( gui-libs/gtk:4[X?,wayland?] )
+		!gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
+	)
+"
+
+depend_clang_llvm_version() {
+	echo "sys-devel/clang:$1"
+	echo "sys-devel/llvm:$1"
+	echo "=sys-devel/lld-$1*"
+}
+
+# When passed multiple arguments we assume that
+# we want a range of versions, inclusive.
+depend_clang_llvm_versions() {
+	local _v
+	if [[ $# -eq 1 ]]; then
+		depend_clang_llvm_version "$1"
+	elif [[ $# -eq 2 ]]; then
+		if [[ $1 -eq $2 ]]; then
+			depend_clang_llvm_version "$1"
+		fi
+		echo "|| ("
+		for ((i=$1; i<=$2; i++)); do
+			echo "("
+			depend_clang_llvm_version "${i}"
+			echo ")"
+		done
+		echo ")"
+	else
+		die "depend_clang_llvm_versions() requires 1 or 2 arguments"
+	fi
+}
+
+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 )
+	)
+	libcxx? ( >=sys-devel/clang-${LLVM_MIN_SLOT} )
+	lto? ( $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) )
+	pgo? (
+		>=dev-python/selenium-3.141.0
+		>=dev-util/web_page_replay_go-20220314
+		$(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT})
+	)
+	dev-lang/perl
+	>=dev-util/gn-${GN_MIN_VER}
+	>=dev-util/gperf-3.0.3
+	>=dev-util/ninja-1.7.2
+	dev-vcs/git
+	>=net-libs/nodejs-7.6.0[inspector]
+	>=sys-devel/bison-2.4.3
+	sys-devel/flex
+	virtual/pkgconfig
+"
+
+# These are intended for ebuild maintainer use to force clang if GCC is broken.
+: ${CHROMIUM_FORCE_CLANG=no}
+
+if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
+	BDEPEND+=" >=sys-devel/clang-${LLVM_MIN_SLOT}"
+fi
+
+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}]"
+}
+
+needs_clang() {
+	[[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo
+}
+
+llvm_check_deps() {
+	if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+		einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+		return 1
+	fi
+
+	if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+		einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+		return 1
+	fi
+
+	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+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=18
+	local EXTRA_DISK=1
+	local CHECKREQS_MEMORY="4G"
+	tc-is-cross-compiler && EXTRA_DISK=2
+	if use 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() {
+	pre_build_checks
+
+	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} since USE=headless is set."
+		done
+	fi
+}
+
+pkg_setup() {
+	if use lto || use pgo; then
+		llvm_pkg_setup
+	fi
+
+	pre_build_checks
+
+	if [[ ${MERGE_TYPE} != binary ]]; then
+		local -x CPP="$(tc-getCXX) -E"
+		if tc-is-gcc && ! ver_test "$(gcc-version)" -ge ${MIN_GCC_VER}; then
+			die "At least gcc ${MIN_GCC_VER} is required"
+		fi
+		if use pgo && tc-is-cross-compiler; then
+			die "The pgo USE flag cannot be used when cross-compiling"
+		fi
+		if needs_clang && ! tc-is-clang; then
+			if tc-is-cross-compiler; then
+				CPP="${CBUILD}-clang++ -E"
+			else
+				CPP="${CHOST}-clang++ -E"
+			fi
+			if ver_test "$(clang-major-version)" -lt ${LLVM_MIN_SLOT}; then
+				die "At least Clang ${LLVM_MIN_SLOT} is required"
+			fi
+		fi
+		# Users should never hit this, it's purely a development convenience
+		if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
+				die "dev-util/gn >= ${GN_MIN_VER} is required to build this Chromium"
+		fi
+	fi
+
+	chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+	# Calling this here supports resumption via FEATURES=keepwork
+	python_setup
+
+	# disable global media controls, crashes with libstdc++
+	sed -i -e \
+		"/\"GlobalMediaControlsCastStartStop\",/{n;s/ENABLED/DISABLED/;}" \
+		"chrome/browser/media/router/media_router_feature.cc" || die
+
+	local PATCHES=(
+		"${WORKDIR}/chromium-patches-${PATCH_V}"
+		"${FILESDIR}/chromium-cross-compile.patch"
+		"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
+		"${FILESDIR}/chromium-108-EnumTable-crash.patch"
+		"${FILESDIR}/chromium-109-system-zlib.patch"
+		"${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+	)
+
+	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" )
+	fi
+
+	default
+
+	mkdir -p third_party/node/linux/node-linux-x64/bin || 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
+
+	local keeplibs=(
+		base/third_party/cityhash
+		base/third_party/double_conversion
+		base/third_party/dynamic_annotations
+		base/third_party/icu
+		base/third_party/nspr
+		base/third_party/superfasthash
+		base/third_party/symbolize
+		base/third_party/valgrind
+		base/third_party/xdg_mime
+		base/third_party/xdg_user_dirs
+		buildtools/third_party/libc++
+		buildtools/third_party/libc++abi
+		chrome/third_party/mozilla_security_manager
+		courgette/third_party
+		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/blink
+		third_party/bidimapper
+		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/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/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/lighthouse
+		third_party/devtools-frontend/src/front_end/third_party/lit
+		third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
+		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/rxjs
+		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/test/unittests/front_end/third_party/i18n
+		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/fdlibm
+		third_party/ffmpeg
+		third_party/fft2d
+		third_party/flatbuffers
+		third_party/fp16
+		third_party/freetype
+		third_party/fusejs
+		third_party/fxdiv
+		third_party/highway
+		third_party/liburlpattern
+		third_party/libzip
+		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/hunspell
+		third_party/iccjpeg
+		third_party/inspector_protocol
+		third_party/ipcz
+		third_party/jinja2
+		third_party/jsoncpp
+		third_party/jstemplate
+		third_party/khronos
+		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/libevent
+		third_party/libgav1
+		third_party/libjingle
+		third_party/libphonenumber
+		third_party/libsecret
+		third_party/libsrtp
+		third_party/libsync
+		third_party/libudev
+		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/llvm
+		third_party/lottie
+		third_party/lss
+		third_party/lzma_sdk
+		third_party/mako
+		third_party/maldoca
+		third_party/maldoca/src/third_party/tensorflow_protos
+		third_party/maldoca/src/third_party/zlibwrapper
+		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/mozilla
+		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/base
+		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/pffft
+		third_party/ply
+		third_party/polymer
+		third_party/private-join-and-compute
+		third_party/private_membership
+		third_party/protobuf
+		third_party/pthreadpool
+		third_party/puffin
+		third_party/pyjson5
+		third_party/pyyaml
+		third_party/qcms
+		third_party/re2
+		third_party/rnnoise
+		third_party/s2cellid
+		third_party/securemessage
+		third_party/selenium-atoms
+		third_party/shell-encryption
+		third_party/simplejson
+		third_party/skia
+		third_party/skia/include/third_party/vulkan
+		third_party/skia/third_party/vulkan
+		third_party/smhasher
+		third_party/snappy
+		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/subzero
+		third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+		third_party/swiftshader/third_party/SPIRV-Tools
+		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/ruy
+		third_party/six
+		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/zxcvbn-cpp
+		third_party/zlib/google
+		url/third_party/mozilla
+		v8/src/third_party/siphash
+		v8/src/third_party/valgrind
+		v8/src/third_party/utf8-decoder
+		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
+	)
+
+	# 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
+
+	if use libcxx; then
+		keeplibs+=( third_party/libc++ )
+	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
+		sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \
+			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
+
+	einfo "Unbundling third-party libraries ..."
+	# Remove most bundled libraries. Some are still needed.
+	build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+	# 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=""
+
+	# Make sure the build system will use the right tools, bug #340795.
+	tc-export AR CC CXX NM
+
+	if needs_clang && ! tc-is-clang; then
+		# Force clang since gcc is either broken or build is using libcxx.
+		if tc-is-cross-compiler; then
+			CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
+			CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
+			BUILD_CC=${CBUILD}-clang
+			BUILD_CXX=${CBUILD}-clang++
+		else
+			CC=${CHOST}-clang
+			CXX=${CHOST}-clang++
+		fi
+		strip-unsupported-flags
+	fi
+
+	if tc-is-clang; then
+		myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+	else
+		myconf_gn+=" is_clang=false"
+	fi
+
+	# Force lld for lto and pgo builds, otherwise disable, bug 641556
+	if use lto || use pgo; then
+		myconf_gn+=" use_lld=true"
+	else
+		myconf_gn+=" use_lld=false"
+	fi
+
+	if use lto; then
+		AR=llvm-ar
+		NM=llvm-nm
+		if tc-is-cross-compiler; then
+			BUILD_AR=llvm-ar
+			BUILD_NM=llvm-nm
+		fi
+	fi
+
+	# Define a custom toolchain for GN
+	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
+
+	# Disable rust for now; it's only used for testing and we don't need the additional bdep
+	myconf_gn+=" enable_rust=false"
+
+	# 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
+
+	# 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
+
+	# TODO: link_pulseaudio=true for GN.
+
+	myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+	# Never use bundled gold binary. Disable gold linker flags for now.
+	# Do not use bundled clang.
+	# Trying to use gold results in linker crash.
+	myconf_gn+=" use_gold=false use_sysroot=false"
+	myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)"
+
+	# 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"
+
+	ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+	myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+	myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+
+	# 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
+
+		if tc-is-gcc; then
+			# https://bugs.gentoo.org/904455
+			local -x CPP="$(tc-getCXX) -E"
+			local gcc_version="$(gcc-version)"
+			local need_gcc_fix=false
+			# Drop this complexity as gcc versions age out of ::gentoo
+			if ver_test "${gcc_version}" -lt 12.3; then
+				need_gcc_fix=true
+			elif ver_test "${gcc_version}" -ge 13 && ver_test "${gcc_version}" -lt 13.2; then
+				need_gcc_fix=true
+			fi
+			[[ ${need_gcc_fix} = true ]] && append-cxxflags "$(test-flags-CXX -fno-tree-vectorize)"
+			# https://bugs.gentoo.org/912381
+			filter-lto
+		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
+
+	# Make sure that -Werror doesn't get added to CFLAGS by the build system.
+	# Depending on GCC version the warnings are different and we don't want
+	# the build to fail because of that.
+	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
+
+	# Disable unknown warning message from clang.
+	if tc-is-clang; then
+		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
+	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 enable_nocompile_tests_new=false"
+
+	# 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
+
+	# Results in undefined references in chrome linking, may require CFI to work
+	if use arm64; then
+		myconf_gn+=" arm_control_flow_integrity=\"none\""
+	fi
+
+	# Enable official builds
+	myconf_gn+=" is_official_build=$(usex official true false)"
+	myconf_gn+=" use_thin_lto=$(usex lto true false)"
+	myconf_gn+=" thin_lto_enable_optimizations=$(usex lto 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
+		# Disable CFI: unsupported for GCC, requires clang+lto+lld
+		myconf_gn+=" is_cfi=false"
+		# 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
+
+	# user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
+	if use arm64 && tc-is-gcc; then
+		sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
+			third_party/crc32c/src/src/crc32c_arm64.cc || die
+	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
+
+	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_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
+	(
+		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
+}
diff --git a/www-client/chromium/chromium-119.0.6045.59.ebuild b/www-client/chromium/chromium-119.0.6045.59.ebuild
deleted file mode 100644
index e65c5be0eff1..000000000000
--- a/www-client/chromium/chromium-119.0.6045.59.ebuild
+++ /dev/null
@@ -1,1254 +0,0 @@
-# Copyright 2009-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Can't do 12 yet: heavy use of imp, among other things (bug #915001, bug #915062)
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="xml(+)"
-
-# These variables let us easily bound supported compiler versions in one place.
-# The bundled Clang is updated by Google every ~two weeks, so we can't
-# just assume that anything other than the latest version in ::gentoo
-# will work (and even that will probably break occasionally)
-LLVM_MAX_SLOT=17
-LLVM_MIN_SLOT=16
-MIN_GCC_VER=12
-GN_MIN_VER=0.2122
-
-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"
-
-inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils
-inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="https://www.chromium.org/"
-PATCHSET_PPC64="118.0.5993.70-1raptor0~deb11u1"
-PATCH_V="${PV%%\.*}-3"
-SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
-	https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
-	ppc64? (
-		https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
-		https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
-	)
-	pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
-
-LICENSE="BSD"
-SLOT="0/beta"
-KEYWORDS="~amd64 ~arm64"
-IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
-IUSE="+X ${IUSE_SYSTEM_LIBS} cups debug gtk4 +hangouts headless kerberos libcxx lto +official pax-kernel pgo +proprietary-codecs pulseaudio qt5 qt6 screencast selinux vaapi wayland widevine"
-REQUIRED_USE="
-	screencast? ( wayland )
-	!headless? ( || ( X wayland ) )
-	pgo? ( X !wayland )
-	qt6? ( qt5 )
-"
-
-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-71.1:= )
-	>=dev-libs/libxml2-2.9.4-r3:=[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-libs/libX11:=
-			x11-libs/libXext:=
-			x11-libs/libxcb:=
-		)
-		x11-libs/libxkbcommon:=
-		wayland? (
-			dev-libs/libffi:=
-			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 )
-"
-DEPEND="${COMMON_DEPEND}
-	!headless? (
-		gtk4? ( gui-libs/gtk:4[X?,wayland?] )
-		!gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
-	)
-"
-
-depend_clang_llvm_version() {
-	echo "sys-devel/clang:$1"
-	echo "sys-devel/llvm:$1"
-	echo "=sys-devel/lld-$1*"
-}
-
-# When passed multiple arguments we assume that
-# we want a range of versions, inclusive.
-depend_clang_llvm_versions() {
-	local _v
-	if [[ $# -eq 1 ]]; then
-		depend_clang_llvm_version "$1"
-	elif [[ $# -eq 2 ]]; then
-		if [[ $1 -eq $2 ]]; then
-			depend_clang_llvm_version "$1"
-		fi
-		echo "|| ("
-		for ((i=$1; i<=$2; i++)); do
-			echo "("
-			depend_clang_llvm_version "${i}"
-			echo ")"
-		done
-		echo ")"
-	else
-		die "depend_clang_llvm_versions() requires 1 or 2 arguments"
-	fi
-}
-
-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 )
-	)
-	libcxx? ( >=sys-devel/clang-${LLVM_MIN_SLOT} )
-	lto? ( $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) )
-	pgo? (
-		>=dev-python/selenium-3.141.0
-		>=dev-util/web_page_replay_go-20220314
-		$(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT})
-	)
-	dev-lang/perl
-	>=dev-util/gn-${GN_MIN_VER}
-	>=dev-util/gperf-3.0.3
-	>=dev-util/ninja-1.7.2
-	dev-vcs/git
-	>=net-libs/nodejs-7.6.0[inspector]
-	>=sys-devel/bison-2.4.3
-	sys-devel/flex
-	virtual/pkgconfig
-"
-
-# These are intended for ebuild maintainer use to force clang if GCC is broken.
-: ${CHROMIUM_FORCE_CLANG=no}
-
-if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
-	BDEPEND+=" >=sys-devel/clang-${LLVM_MIN_SLOT}"
-fi
-
-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}]"
-}
-
-needs_clang() {
-	[[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo
-}
-
-llvm_check_deps() {
-	if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
-		einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
-		return 1
-	fi
-
-	if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
-		einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
-		return 1
-	fi
-
-	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
-}
-
-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=18
-	local EXTRA_DISK=1
-	local CHECKREQS_MEMORY="4G"
-	tc-is-cross-compiler && EXTRA_DISK=2
-	if use 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() {
-	pre_build_checks
-
-	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} since USE=headless is set."
-		done
-	fi
-}
-
-pkg_setup() {
-	if use lto || use pgo; then
-		llvm_pkg_setup
-	fi
-
-	pre_build_checks
-
-	if [[ ${MERGE_TYPE} != binary ]]; then
-		local -x CPP="$(tc-getCXX) -E"
-		if tc-is-gcc && ! ver_test "$(gcc-version)" -ge ${MIN_GCC_VER}; then
-			die "At least gcc ${MIN_GCC_VER} is required"
-		fi
-		if use pgo && tc-is-cross-compiler; then
-			die "The pgo USE flag cannot be used when cross-compiling"
-		fi
-		if needs_clang && ! tc-is-clang; then
-			if tc-is-cross-compiler; then
-				CPP="${CBUILD}-clang++ -E"
-			else
-				CPP="${CHOST}-clang++ -E"
-			fi
-			if ver_test "$(clang-major-version)" -lt ${LLVM_MIN_SLOT}; then
-				die "At least Clang ${LLVM_MIN_SLOT} is required"
-			fi
-		fi
-		# Users should never hit this, it's purely a development convenience
-		if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
-				die "dev-util/gn >= ${GN_MIN_VER} is required to build this Chromium"
-		fi
-	fi
-
-	chromium_suid_sandbox_check_kernel_config
-}
-
-src_prepare() {
-	# Calling this here supports resumption via FEATURES=keepwork
-	python_setup
-
-	# disable global media controls, crashes with libstdc++
-	sed -i -e \
-		"/\"GlobalMediaControlsCastStartStop\",/{n;s/ENABLED/DISABLED/;}" \
-		"chrome/browser/media/router/media_router_feature.cc" || die
-
-	local PATCHES=(
-		"${WORKDIR}/chromium-patches-${PATCH_V}"
-		"${FILESDIR}/chromium-cross-compile.patch"
-		"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
-		"${FILESDIR}/chromium-108-EnumTable-crash.patch"
-		"${FILESDIR}/chromium-109-system-zlib.patch"
-		"${FILESDIR}/chromium-111-InkDropHost-crash.patch"
-	)
-
-	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" )
-	fi
-
-	default
-
-	mkdir -p third_party/node/linux/node-linux-x64/bin || 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
-
-	local keeplibs=(
-		base/third_party/cityhash
-		base/third_party/double_conversion
-		base/third_party/dynamic_annotations
-		base/third_party/icu
-		base/third_party/nspr
-		base/third_party/superfasthash
-		base/third_party/symbolize
-		base/third_party/valgrind
-		base/third_party/xdg_mime
-		base/third_party/xdg_user_dirs
-		buildtools/third_party/libc++
-		buildtools/third_party/libc++abi
-		chrome/third_party/mozilla_security_manager
-		courgette/third_party
-		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/blink
-		third_party/bidimapper
-		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/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/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/lighthouse
-		third_party/devtools-frontend/src/front_end/third_party/lit
-		third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
-		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/rxjs
-		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/test/unittests/front_end/third_party/i18n
-		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/fdlibm
-		third_party/ffmpeg
-		third_party/fft2d
-		third_party/flatbuffers
-		third_party/fp16
-		third_party/freetype
-		third_party/fusejs
-		third_party/fxdiv
-		third_party/highway
-		third_party/liburlpattern
-		third_party/libzip
-		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/hunspell
-		third_party/iccjpeg
-		third_party/inspector_protocol
-		third_party/ipcz
-		third_party/jinja2
-		third_party/jsoncpp
-		third_party/jstemplate
-		third_party/khronos
-		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/libevent
-		third_party/libgav1
-		third_party/libjingle
-		third_party/libphonenumber
-		third_party/libsecret
-		third_party/libsrtp
-		third_party/libsync
-		third_party/libudev
-		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/llvm
-		third_party/lottie
-		third_party/lss
-		third_party/lzma_sdk
-		third_party/mako
-		third_party/maldoca
-		third_party/maldoca/src/third_party/tensorflow_protos
-		third_party/maldoca/src/third_party/zlibwrapper
-		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/mozilla
-		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/base
-		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/pffft
-		third_party/ply
-		third_party/polymer
-		third_party/private-join-and-compute
-		third_party/private_membership
-		third_party/protobuf
-		third_party/pthreadpool
-		third_party/puffin
-		third_party/pyjson5
-		third_party/pyyaml
-		third_party/qcms
-		third_party/re2
-		third_party/rnnoise
-		third_party/s2cellid
-		third_party/securemessage
-		third_party/selenium-atoms
-		third_party/shell-encryption
-		third_party/simplejson
-		third_party/skia
-		third_party/skia/include/third_party/vulkan
-		third_party/skia/third_party/vulkan
-		third_party/smhasher
-		third_party/snappy
-		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/subzero
-		third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
-		third_party/swiftshader/third_party/SPIRV-Tools
-		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/ruy
-		third_party/six
-		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/zxcvbn-cpp
-		third_party/zlib/google
-		url/third_party/mozilla
-		v8/src/third_party/siphash
-		v8/src/third_party/valgrind
-		v8/src/third_party/utf8-decoder
-		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
-	)
-
-	# 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
-
-	if use libcxx; then
-		keeplibs+=( third_party/libc++ )
-	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
-		sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \
-			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
-
-	einfo "Unbundling third-party libraries ..."
-	# Remove most bundled libraries. Some are still needed.
-	build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
-
-	# 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=""
-
-	# Make sure the build system will use the right tools, bug #340795.
-	tc-export AR CC CXX NM
-
-	if needs_clang && ! tc-is-clang; then
-		# Force clang since gcc is either broken or build is using libcxx.
-		if tc-is-cross-compiler; then
-			CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
-			CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
-			BUILD_CC=${CBUILD}-clang
-			BUILD_CXX=${CBUILD}-clang++
-		else
-			CC=${CHOST}-clang
-			CXX=${CHOST}-clang++
-		fi
-		strip-unsupported-flags
-	fi
-
-	if tc-is-clang; then
-		myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
-	else
-		myconf_gn+=" is_clang=false"
-	fi
-
-	# Force lld for lto and pgo builds, otherwise disable, bug 641556
-	if use lto || use pgo; then
-		myconf_gn+=" use_lld=true"
-	else
-		myconf_gn+=" use_lld=false"
-	fi
-
-	if use lto; then
-		AR=llvm-ar
-		NM=llvm-nm
-		if tc-is-cross-compiler; then
-			BUILD_AR=llvm-ar
-			BUILD_NM=llvm-nm
-		fi
-	fi
-
-	# Define a custom toolchain for GN
-	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
-
-	# Disable rust for now; it's only used for testing and we don't need the additional bdep
-	myconf_gn+=" enable_rust=false"
-
-	# 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
-
-	# 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
-
-	# TODO: link_pulseaudio=true for GN.
-
-	myconf_gn+=" disable_fieldtrial_testing_config=true"
-
-	# Never use bundled gold binary. Disable gold linker flags for now.
-	# Do not use bundled clang.
-	# Trying to use gold results in linker crash.
-	myconf_gn+=" use_gold=false use_sysroot=false"
-	myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)"
-
-	# 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"
-
-	ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
-	myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
-	myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
-
-	# 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
-
-		if tc-is-gcc; then
-			# https://bugs.gentoo.org/904455
-			local -x CPP="$(tc-getCXX) -E"
-			local gcc_version="$(gcc-version)"
-			local need_gcc_fix=false
-			# Drop this complexity as gcc versions age out of ::gentoo
-			if ver_test "${gcc_version}" -lt 12.3; then
-				need_gcc_fix=true
-			elif ver_test "${gcc_version}" -ge 13 && ver_test "${gcc_version}" -lt 13.2; then
-				need_gcc_fix=true
-			fi
-			[[ ${need_gcc_fix} = true ]] && append-cxxflags "$(test-flags-CXX -fno-tree-vectorize)"
-			# https://bugs.gentoo.org/912381
-			filter-lto
-		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
-
-	# Make sure that -Werror doesn't get added to CFLAGS by the build system.
-	# Depending on GCC version the warnings are different and we don't want
-	# the build to fail because of that.
-	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
-
-	# Disable unknown warning message from clang.
-	if tc-is-clang; then
-		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
-	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 enable_nocompile_tests_new=false"
-
-	# 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
-
-	# Results in undefined references in chrome linking, may require CFI to work
-	if use arm64; then
-		myconf_gn+=" arm_control_flow_integrity=\"none\""
-	fi
-
-	# Enable official builds
-	myconf_gn+=" is_official_build=$(usex official true false)"
-	myconf_gn+=" use_thin_lto=$(usex lto true false)"
-	myconf_gn+=" thin_lto_enable_optimizations=$(usex lto 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
-		# Disable CFI: unsupported for GCC, requires clang+lto+lld
-		myconf_gn+=" is_cfi=false"
-		# 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
-
-	# user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
-	if use arm64 && tc-is-gcc; then
-		sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
-			third_party/crc32c/src/src/crc32c_arm64.cc || die
-	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
-
-	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_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
-	(
-		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
-}
diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest
index b0b43ecc494a..9f6565e73505 100644
--- a/www-client/google-chrome-beta/Manifest
+++ b/www-client/google-chrome-beta/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-beta_119.0.6045.59-1_amd64.deb 103862984 BLAKE2B 8ef2e9517e7464a3688c7a79b31e633fd8abc7b54b45e4e7c444746b49de16ad7c3699f986a7b862c3c9624925638d7a9487da8ff2e28609e7c418a596b1adfd SHA512 9bf1670ece4a3a6f135f333b7b36377de2979527bc226a8ebb67b1b07f5a19aa87c8ce5bc1211a5c57a31af8fe8bb19164da088680333729f1d8bf8116c155b0
-EBUILD google-chrome-beta-119.0.6045.59.ebuild 2983 BLAKE2B e3960945e25461e782c8ac1e3aa913aaf7603e2f82ce2676733edd81e3018977a1df45f73e4aa378651d917929e79819fdf719080bb1537b4ced36e516baa0e3 SHA512 ae988effae9cccb9901d571d29ead4e7c46b07f90921e46ac32b0d194ea5a8ec5398b8e055b8d9aa9d76aa62ab15a7bbe98b721c26990f762ba05b002b5ea407
+DIST google-chrome-beta_120.0.6099.5-1_amd64.deb 104964108 BLAKE2B 7f06674002863411375e32ccdec8318d07462290d801a5c8546b04b75e4beba19e90fde8ad383116ede906d3cd1a0838dce61657c125401ebc8f850531fb4e78 SHA512 235f89930c4c03d093346ee3f5e42917d2bd641878e22edba9548bdd147087b878c927247cb2607f61b5b345a136196ea1f484947dd726bcedf843594bf3775a
+EBUILD google-chrome-beta-120.0.6099.5.ebuild 2983 BLAKE2B e3960945e25461e782c8ac1e3aa913aaf7603e2f82ce2676733edd81e3018977a1df45f73e4aa378651d917929e79819fdf719080bb1537b4ced36e516baa0e3 SHA512 ae988effae9cccb9901d571d29ead4e7c46b07f90921e46ac32b0d194ea5a8ec5398b8e055b8d9aa9d76aa62ab15a7bbe98b721c26990f762ba05b002b5ea407
 MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-beta/google-chrome-beta-119.0.6045.59.ebuild b/www-client/google-chrome-beta/google-chrome-beta-119.0.6045.59.ebuild
deleted file mode 100644
index 4a3a41f9df6b..000000000000
--- a/www-client/google-chrome-beta/google-chrome-beta-119.0.6045.59.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 2011-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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"
-
-inherit chromium-2 desktop pax-utils unpacker xdg
-
-DESCRIPTION="The web browser from Google"
-HOMEPAGE="https://www.google.com/chrome"
-
-if [[ ${PN} == google-chrome ]]; then
-	MY_PN=${PN}-stable
-else
-	MY_PN=${PN}
-fi
-
-KEYWORDS="-* ~amd64"
-
-MY_P="${MY_PN}_${PV}-1"
-
-SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
-
-LICENSE="google-chrome"
-SLOT="0"
-IUSE="qt5 qt6 selinux"
-RESTRICT="bindist mirror strip"
-
-RDEPEND="
-	>=app-accessibility/at-spi2-core-2.46.0:2
-	app-misc/ca-certificates
-	dev-libs/expat
-	dev-libs/glib:2
-	dev-libs/nspr
-	>=dev-libs/nss-3.26
-	media-fonts/liberation-fonts
-	media-libs/alsa-lib
-	media-libs/mesa[gbm(+)]
-	net-misc/curl
-	net-print/cups
-	sys-apps/dbus
-	sys-libs/glibc
-	sys-libs/libcap
-	x11-libs/cairo
-	x11-libs/gdk-pixbuf:2
-	|| (
-		x11-libs/gtk+:3[X]
-		gui-libs/gtk:4[X]
-	)
-	x11-libs/libdrm
-	>=x11-libs/libX11-1.5.0
-	x11-libs/libXcomposite
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXrandr
-	x11-libs/libxcb
-	x11-libs/libxkbcommon
-	x11-libs/libxshmfence
-	x11-libs/pango
-	x11-misc/xdg-utils
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5[X]
-		dev-qt/qtwidgets:5
-	)
-	qt6? ( dev-qt/qtbase:6[gui,widgets] )
-	selinux? ( sec-policy/selinux-chromium )
-"
-
-QA_PREBUILT="*"
-QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop"
-S=${WORKDIR}
-CHROME_HOME="opt/google/chrome${PN#google-chrome}"
-
-pkg_nofetch() {
-	eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures."
-}
-
-pkg_pretend() {
-	# Protect against people using autounmask overzealously
-	use amd64 || die "google-chrome only works on amd64"
-}
-
-pkg_setup() {
-	chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
-	:
-}
-
-src_install() {
-	dodir /
-	cd "${ED}" || die
-	unpacker
-
-	rm -r etc usr/share/menu || die
-	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
-
-	gzip -d usr/share/doc/${PF}/changelog.gz || die
-	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
-	if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then
-		rm usr/share/man/man1/google-chrome.1.gz || die
-		dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1
-	fi
-
-	pushd "${CHROME_HOME}/locales" > /dev/null || die
-	chromium_remove_language_paks
-	popd > /dev/null || die
-
-	if ! use qt5; then
-		rm "${CHROME_HOME}/libqt5_shim.so" || die
-	fi
-	if ! use qt6; then
-		rm "${CHROME_HOME}/libqt6_shim.so" || die
-	fi
-
-	local suffix=
-	[[ ${PN} == google-chrome-beta ]] && suffix=_beta
-	[[ ${PN} == google-chrome-unstable ]] && suffix=_dev
-
-	local size
-	for size in 16 24 32 48 64 128 256 ; do
-		newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
-	done
-
-	pax-mark m "${CHROME_HOME}/chrome"
-}
diff --git a/www-client/google-chrome-beta/google-chrome-beta-120.0.6099.5.ebuild b/www-client/google-chrome-beta/google-chrome-beta-120.0.6099.5.ebuild
new file mode 100644
index 000000000000..4a3a41f9df6b
--- /dev/null
+++ b/www-client/google-chrome-beta/google-chrome-beta-120.0.6099.5.ebuild
@@ -0,0 +1,132 @@
+# Copyright 2011-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+
+inherit chromium-2 desktop pax-utils unpacker xdg
+
+DESCRIPTION="The web browser from Google"
+HOMEPAGE="https://www.google.com/chrome"
+
+if [[ ${PN} == google-chrome ]]; then
+	MY_PN=${PN}-stable
+else
+	MY_PN=${PN}
+fi
+
+KEYWORDS="-* ~amd64"
+
+MY_P="${MY_PN}_${PV}-1"
+
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+
+LICENSE="google-chrome"
+SLOT="0"
+IUSE="qt5 qt6 selinux"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+	>=app-accessibility/at-spi2-core-2.46.0:2
+	app-misc/ca-certificates
+	dev-libs/expat
+	dev-libs/glib:2
+	dev-libs/nspr
+	>=dev-libs/nss-3.26
+	media-fonts/liberation-fonts
+	media-libs/alsa-lib
+	media-libs/mesa[gbm(+)]
+	net-misc/curl
+	net-print/cups
+	sys-apps/dbus
+	sys-libs/glibc
+	sys-libs/libcap
+	x11-libs/cairo
+	x11-libs/gdk-pixbuf:2
+	|| (
+		x11-libs/gtk+:3[X]
+		gui-libs/gtk:4[X]
+	)
+	x11-libs/libdrm
+	>=x11-libs/libX11-1.5.0
+	x11-libs/libXcomposite
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXrandr
+	x11-libs/libxcb
+	x11-libs/libxkbcommon
+	x11-libs/libxshmfence
+	x11-libs/pango
+	x11-misc/xdg-utils
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5[X]
+		dev-qt/qtwidgets:5
+	)
+	qt6? ( dev-qt/qtbase:6[gui,widgets] )
+	selinux? ( sec-policy/selinux-chromium )
+"
+
+QA_PREBUILT="*"
+QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop"
+S=${WORKDIR}
+CHROME_HOME="opt/google/chrome${PN#google-chrome}"
+
+pkg_nofetch() {
+	eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures."
+}
+
+pkg_pretend() {
+	# Protect against people using autounmask overzealously
+	use amd64 || die "google-chrome only works on amd64"
+}
+
+pkg_setup() {
+	chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+	:
+}
+
+src_install() {
+	dodir /
+	cd "${ED}" || die
+	unpacker
+
+	rm -r etc usr/share/menu || die
+	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+
+	gzip -d usr/share/doc/${PF}/changelog.gz || die
+	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
+	if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then
+		rm usr/share/man/man1/google-chrome.1.gz || die
+		dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1
+	fi
+
+	pushd "${CHROME_HOME}/locales" > /dev/null || die
+	chromium_remove_language_paks
+	popd > /dev/null || die
+
+	if ! use qt5; then
+		rm "${CHROME_HOME}/libqt5_shim.so" || die
+	fi
+	if ! use qt6; then
+		rm "${CHROME_HOME}/libqt6_shim.so" || die
+	fi
+
+	local suffix=
+	[[ ${PN} == google-chrome-beta ]] && suffix=_beta
+	[[ ${PN} == google-chrome-unstable ]] && suffix=_dev
+
+	local size
+	for size in 16 24 32 48 64 128 256 ; do
+		newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
+	done
+
+	pax-mark m "${CHROME_HOME}/chrome"
+}
diff --git a/www-client/google-chrome/Manifest b/www-client/google-chrome/Manifest
index 458779f2379c..d6026e1eef05 100644
--- a/www-client/google-chrome/Manifest
+++ b/www-client/google-chrome/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-stable_118.0.5993.117-1_amd64.deb 104057764 BLAKE2B 6e6623e542695137de7667b1fffe75c901f7c4230bd43653d0b7a422f8af8ffbdef0e0edd336f65cba8525229b90f4ffcb64140788be5fb40083305b25e45b81 SHA512 028375ea49a04b04ff6c369b22b40a1a4545201277eef977ba8fa29123d664f29a01a56cabf2418b60d6c65fecd5d567f35e1504271490a8ba5b377df37ecec6
-EBUILD google-chrome-118.0.5993.117.ebuild 2982 BLAKE2B c54253c46bcb714806d7bd3828719095e77d2eaa884bdfac013cda91204648bc27da0c226f9dc8db60e11191eb3b94304a5c6dac03244ac3b15c3e89c108156b SHA512 d44cb3f0a2e011270669d7a048b4e8f01f78de0b9de27607e56dd579eee4b22f65a1d3d1ee1e2b00c2297fbfb321b858feb107f2c319d198b045b5704a60fc1a
+DIST google-chrome-stable_119.0.6045.105-1_amd64.deb 103888432 BLAKE2B 7da11fbf2e2f16954154d8270b6a63d276851d30d1c3c5391aa55efc5379adc31bcd6a4b32519f40d00647852a0c5a2027fea4a899d576382acd9e29be33164c SHA512 57526e6e5b9d5936e22555b879d066347da011a8b5f3f207bb5a353e1668accd87d7e789eab48250397c7bfec1682413a699ee4b33604493ef001a895558e7b2
+EBUILD google-chrome-119.0.6045.105.ebuild 2982 BLAKE2B c54253c46bcb714806d7bd3828719095e77d2eaa884bdfac013cda91204648bc27da0c226f9dc8db60e11191eb3b94304a5c6dac03244ac3b15c3e89c108156b SHA512 d44cb3f0a2e011270669d7a048b4e8f01f78de0b9de27607e56dd579eee4b22f65a1d3d1ee1e2b00c2297fbfb321b858feb107f2c319d198b045b5704a60fc1a
 MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome/google-chrome-118.0.5993.117.ebuild b/www-client/google-chrome/google-chrome-118.0.5993.117.ebuild
deleted file mode 100644
index 394bc9733f44..000000000000
--- a/www-client/google-chrome/google-chrome-118.0.5993.117.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 2011-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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"
-
-inherit chromium-2 desktop pax-utils unpacker xdg
-
-DESCRIPTION="The web browser from Google"
-HOMEPAGE="https://www.google.com/chrome"
-
-if [[ ${PN} == google-chrome ]]; then
-	MY_PN=${PN}-stable
-else
-	MY_PN=${PN}
-fi
-
-KEYWORDS="-* amd64"
-
-MY_P="${MY_PN}_${PV}-1"
-
-SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
-
-LICENSE="google-chrome"
-SLOT="0"
-IUSE="qt5 qt6 selinux"
-RESTRICT="bindist mirror strip"
-
-RDEPEND="
-	>=app-accessibility/at-spi2-core-2.46.0:2
-	app-misc/ca-certificates
-	dev-libs/expat
-	dev-libs/glib:2
-	dev-libs/nspr
-	>=dev-libs/nss-3.26
-	media-fonts/liberation-fonts
-	media-libs/alsa-lib
-	media-libs/mesa[gbm(+)]
-	net-misc/curl
-	net-print/cups
-	sys-apps/dbus
-	sys-libs/glibc
-	sys-libs/libcap
-	x11-libs/cairo
-	x11-libs/gdk-pixbuf:2
-	|| (
-		x11-libs/gtk+:3[X]
-		gui-libs/gtk:4[X]
-	)
-	x11-libs/libdrm
-	>=x11-libs/libX11-1.5.0
-	x11-libs/libXcomposite
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXrandr
-	x11-libs/libxcb
-	x11-libs/libxkbcommon
-	x11-libs/libxshmfence
-	x11-libs/pango
-	x11-misc/xdg-utils
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5[X]
-		dev-qt/qtwidgets:5
-	)
-	qt6? ( dev-qt/qtbase:6[gui,widgets] )
-	selinux? ( sec-policy/selinux-chromium )
-"
-
-QA_PREBUILT="*"
-QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop"
-S=${WORKDIR}
-CHROME_HOME="opt/google/chrome${PN#google-chrome}"
-
-pkg_nofetch() {
-	eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures."
-}
-
-pkg_pretend() {
-	# Protect against people using autounmask overzealously
-	use amd64 || die "google-chrome only works on amd64"
-}
-
-pkg_setup() {
-	chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
-	:
-}
-
-src_install() {
-	dodir /
-	cd "${ED}" || die
-	unpacker
-
-	rm -r etc usr/share/menu || die
-	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
-
-	gzip -d usr/share/doc/${PF}/changelog.gz || die
-	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
-	if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then
-		rm usr/share/man/man1/google-chrome.1.gz || die
-		dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1
-	fi
-
-	pushd "${CHROME_HOME}/locales" > /dev/null || die
-	chromium_remove_language_paks
-	popd > /dev/null || die
-
-	if ! use qt5; then
-		rm "${CHROME_HOME}/libqt5_shim.so" || die
-	fi
-	if ! use qt6; then
-		rm "${CHROME_HOME}/libqt6_shim.so" || die
-	fi
-
-	local suffix=
-	[[ ${PN} == google-chrome-beta ]] && suffix=_beta
-	[[ ${PN} == google-chrome-unstable ]] && suffix=_dev
-
-	local size
-	for size in 16 24 32 48 64 128 256 ; do
-		newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
-	done
-
-	pax-mark m "${CHROME_HOME}/chrome"
-}
diff --git a/www-client/google-chrome/google-chrome-119.0.6045.105.ebuild b/www-client/google-chrome/google-chrome-119.0.6045.105.ebuild
new file mode 100644
index 000000000000..394bc9733f44
--- /dev/null
+++ b/www-client/google-chrome/google-chrome-119.0.6045.105.ebuild
@@ -0,0 +1,132 @@
+# Copyright 2011-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+
+inherit chromium-2 desktop pax-utils unpacker xdg
+
+DESCRIPTION="The web browser from Google"
+HOMEPAGE="https://www.google.com/chrome"
+
+if [[ ${PN} == google-chrome ]]; then
+	MY_PN=${PN}-stable
+else
+	MY_PN=${PN}
+fi
+
+KEYWORDS="-* amd64"
+
+MY_P="${MY_PN}_${PV}-1"
+
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+
+LICENSE="google-chrome"
+SLOT="0"
+IUSE="qt5 qt6 selinux"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+	>=app-accessibility/at-spi2-core-2.46.0:2
+	app-misc/ca-certificates
+	dev-libs/expat
+	dev-libs/glib:2
+	dev-libs/nspr
+	>=dev-libs/nss-3.26
+	media-fonts/liberation-fonts
+	media-libs/alsa-lib
+	media-libs/mesa[gbm(+)]
+	net-misc/curl
+	net-print/cups
+	sys-apps/dbus
+	sys-libs/glibc
+	sys-libs/libcap
+	x11-libs/cairo
+	x11-libs/gdk-pixbuf:2
+	|| (
+		x11-libs/gtk+:3[X]
+		gui-libs/gtk:4[X]
+	)
+	x11-libs/libdrm
+	>=x11-libs/libX11-1.5.0
+	x11-libs/libXcomposite
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXrandr
+	x11-libs/libxcb
+	x11-libs/libxkbcommon
+	x11-libs/libxshmfence
+	x11-libs/pango
+	x11-misc/xdg-utils
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5[X]
+		dev-qt/qtwidgets:5
+	)
+	qt6? ( dev-qt/qtbase:6[gui,widgets] )
+	selinux? ( sec-policy/selinux-chromium )
+"
+
+QA_PREBUILT="*"
+QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop"
+S=${WORKDIR}
+CHROME_HOME="opt/google/chrome${PN#google-chrome}"
+
+pkg_nofetch() {
+	eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures."
+}
+
+pkg_pretend() {
+	# Protect against people using autounmask overzealously
+	use amd64 || die "google-chrome only works on amd64"
+}
+
+pkg_setup() {
+	chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+	:
+}
+
+src_install() {
+	dodir /
+	cd "${ED}" || die
+	unpacker
+
+	rm -r etc usr/share/menu || die
+	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+
+	gzip -d usr/share/doc/${PF}/changelog.gz || die
+	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
+	if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then
+		rm usr/share/man/man1/google-chrome.1.gz || die
+		dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1
+	fi
+
+	pushd "${CHROME_HOME}/locales" > /dev/null || die
+	chromium_remove_language_paks
+	popd > /dev/null || die
+
+	if ! use qt5; then
+		rm "${CHROME_HOME}/libqt5_shim.so" || die
+	fi
+	if ! use qt6; then
+		rm "${CHROME_HOME}/libqt6_shim.so" || die
+	fi
+
+	local suffix=
+	[[ ${PN} == google-chrome-beta ]] && suffix=_beta
+	[[ ${PN} == google-chrome-unstable ]] && suffix=_dev
+
+	local size
+	for size in 16 24 32 48 64 128 256 ; do
+		newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
+	done
+
+	pax-mark m "${CHROME_HOME}/chrome"
+}
diff --git a/www-client/links/Manifest b/www-client/links/Manifest
index 85a3a563b934..6f1e2e50ed6c 100644
--- a/www-client/links/Manifest
+++ b/www-client/links/Manifest
@@ -1,7 +1,5 @@
 AUX links-2.29-fix-zstd-only-build.patch 1133 BLAKE2B 72287b766e123566a877b2b5f2c84e8bb660df9a344a2d8d691a2312a34ca29d36054a43f978cb9e6f5033df345ab9154aabe29e23a27c082f4a58e5af518ae8 SHA512 e55c4545c84a39011c4355eece626f929da8ff5b1f8a0201618381c30481f83597b8ef549d026bea8e528d7f74545115c74fa2363bb2a0825b1da04c7427d4ef
-DIST links-2.28.tar.bz2 6512800 BLAKE2B 2ff210dd7ab92ab2f6280f5ef2d2e9873d377a646a9e2ac32a770f467c3c76edcddac628c1f36a12cdb01c2f26ed408b7460e6e85be00c40d53ec668da622786 SHA512 090bc770f78f8b57358ac0c6f31ad12f3d5f4eb9bbf74913ac8fa254e5ed63ec289c8a7990879983ace7427e20fb2de1271820f025b630c5a0ca599cf697b754
 DIST links-2.29.tar.bz2 6521024 BLAKE2B 6ae2b0e4a4a314756ef74ca19888e4c8a9e89347767475000f4b3ea70eb7157430bb5a6721108585c122eb33f6b05ab5eab600e26c9e1d2b8bdafd85483c6d94 SHA512 5ea8b2fd0eb74d9dc2b45614aef6ee878fe686dff9bcee75ac6ea01f6a7331670f7709233d31986fc64ad86ce549616a4471057837b6caf15af6d1c5c503ac75
 DIST links-graphics-xlinks-logo-pic.png 6041 BLAKE2B dfa6c036eaeca66a4aabd909b3b5eb61dd9a4079ab236a2d65ca1756d1110319913849569cad19e59ca4ae2413f518d0613588b58c81b718d718a61f072f2e52 SHA512 563ba62e1172e86ae6911ea743ecb1faef1a8739c30c50355b6f12669aa91aa6fefb284ed049dc9b81537b2e9950ef501453ebfcd82ad284536d20a08e97ff36
-EBUILD links-2.28-r3.ebuild 3613 BLAKE2B e2ecabcc4964fb2bb472c39f9a145ef624d501f5f1e353363368bbf4a8308e7d3d40174f65c0163d7357f14393c2d6e7296bd264aa3113e5f08cc5ca4e52f580 SHA512 94a2fab40a23a207db49c918495439060fa694c93f14c7b4de516d440a6c2533d7fb33dd3d56686b16b5eec02dbde2f0029bd8121b12811e0361eff3f4de2275
 EBUILD links-2.29.ebuild 3805 BLAKE2B eb9e5f2a44659b5c9e41e2d7b45967ebecd6ecfff81c5c2d868b1cf9ebed067712b0d4878d1d53a7987749023d05872d7b90733b4d9570f18d3ca5dcde06c74a SHA512 12d4772946d2db2201697d1e3c1c1b5ec356b9ea2d68b0c42903912b51bc24b0382157af435c489840b7cd860b70483b30b9e88106811370607ea911e9284fa7
 MISC metadata.xml 534 BLAKE2B 2130cfa40c1bffd68d6ae782546d9018f941fcf5d3ce3ee9bce18b9f2b246b4bdaf068547ac1c5924e6ec443867e6b91c1650862de4347701a6aaba11f3559ca SHA512 a0e83d111b7a3acb2e98cedee6ce510dab58b8659965250f3ff3466205b42680c378f4a077f5dfad7faadcedd8538381d190816cba864e853a1b4f63f58391df
diff --git a/www-client/links/links-2.28-r3.ebuild b/www-client/links/links-2.28-r3.ebuild
deleted file mode 100644
index 148ebea6f595..000000000000
--- a/www-client/links/links-2.28-r3.ebuild
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools desktop toolchain-funcs xdg-utils
-
-DESCRIPTION="A fast and lightweight web browser running in both graphics and text mode"
-HOMEPAGE="http://links.twibright.com/"
-SRC_URI="http://${PN}.twibright.com/download/${P}.tar.bz2
-	X? ( https://dashboard.snapcraft.io/site_media/appmedia/2018/07/links-graphics-xlinks-logo-pic.png )"
-
-LICENSE="GPL-2"
-SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="brotli bzip2 fbcon freetype gpm jpeg libevent livecd lzip lzma ssl suid svga tiff webp X zlib zstd"
-
-GRAPHICS_DEPEND="media-libs/libpng:="
-
-RDEPEND="
-	dev-libs/libbsd
-	brotli? (
-		app-arch/brotli:=
-	)
-	bzip2? (
-		app-arch/bzip2
-	)
-	fbcon? (
-		${GRAPHICS_DEPEND}
-	)
-	freetype? (
-		media-libs/fontconfig
-		media-libs/freetype
-	)
-	gpm? (
-		sys-libs/gpm
-	)
-	jpeg? (
-		media-libs/libjpeg-turbo:=
-	)
-	libevent? (
-		dev-libs/libevent:=
-	)
-	livecd? (
-		${GRAPHICS_DEPEND}
-		sys-libs/gpm
-		media-libs/libjpeg-turbo:=
-	)
-	lzip? (
-		app-arch/lzlib
-	)
-	lzma? (
-		app-arch/xz-utils
-	)
-	ssl? (
-		dev-libs/openssl:=
-	)
-	svga? (
-		${GRAPHICS_DEPEND}
-		media-libs/svgalib
-	)
-	tiff? (
-		media-libs/tiff:=
-	)
-	webp? (
-		media-libs/libwebp:=
-	)
-	X? (
-		${GRAPHICS_DEPEND}
-		x11-libs/libXext
-	)
-	zlib? (
-		sys-libs/zlib
-	)
-	zstd? (
-		app-arch/zstd:=
-	)"
-
-DEPEND="${RDEPEND}
-	fbcon? ( virtual/os-headers )
-	livecd? ( virtual/os-headers )"
-
-BDEPEND="virtual/pkgconfig"
-
-IDEPEND="X? ( dev-util/desktop-file-utils )"
-
-REQUIRED_USE="!livecd? ( fbcon? ( gpm ) )
-	svga? ( suid )"
-
-DOCS=( AUTHORS BRAILLE_HOWTO ChangeLog KEYS NEWS README SITES )
-
-src_prepare() {
-	use X && xdg_environment_reset
-
-	pushd intl > /dev/null || die
-	./gen-intl || die
-	./synclang || die
-	popd > /dev/null || die
-
-	# error: conditional "am__fastdepCXX" was never defined (for eautoreconf)
-	sed -i \
-		-e '/AC_PROG_CXX/s:dnl ::' \
-		-e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
-		configure.in || die #467020
-
-	# Upstream configure produced by broken autoconf-2.13. This also fixes
-	# toolchain detection.
-	mv configure.in configure.ac || die
-
-	default
-	eautoreconf #131440 and #103483#c23
-}
-
-src_configure() {
-	local myconf
-
-	if use livecd; then
-		export ac_cv_lib_gpm_Gpm_Open=yes
-		myconf+=' --with-fb --with-libjpeg'
-	else
-		export ac_cv_lib_gpm_Gpm_Open=$(usex gpm)
-	fi
-
-	if use X || use fbcon || use svga || use livecd; then
-		myconf+=' --enable-graphics'
-	fi
-
-	tc-export PKG_CONFIG
-
-	econf \
-		--without-directfb \
-		--without-librsvg \
-		--with-ipv6 \
-		$(use_with brotli) \
-		$(use_with bzip2) \
-		$(use_with fbcon fb) \
-		$(use_with freetype) \
-		$(use_with jpeg libjpeg) \
-		$(use_with libevent) \
-		$(use_with lzip) \
-		$(use_with lzma) \
-		$(use_with ssl) \
-		$(use_with svga svgalib) \
-		$(use_with tiff libtiff) \
-		$(use_with webp libwebp) \
-		$(use_with X x) \
-		$(use_with zlib) \
-		$(use_with zstd) \
-		${myconf}
-}
-
-src_install() {
-	HTML_DOCS="doc/links_cal/*"
-	default
-
-	if use X; then
-		newicon "${DISTDIR}"/links-graphics-xlinks-logo-pic.png links.png
-		make_desktop_entry 'links -g %u' Links links 'Network;WebBrowser'
-		local d="${ED}"/usr/share/applications
-		echo 'MimeType=x-scheme-handler/http;' >> "${d}"/*.desktop || die
-		if use ssl; then
-			sed -i -e 's:x-scheme-handler/http;:&x-scheme-handler/https;:' \
-			"${d}"/*.desktop || die
-		fi
-	fi
-
-	use suid && fperms 4755 /usr/bin/links
-}
-
-pkg_postinst() {
-	use X && xdg_desktop_database_update
-}
-
-pkg_postrm() {
-	use X && xdg_desktop_database_update
-}
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index 74be397d4006..cccb671f591f 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-beta_119.0.2151.24-1_amd64.deb 165136830 BLAKE2B f08fa990ce79044cdc84eeadfb850584230c414640398b92cbfabf618e18f2d4308d794361ae480cfcf2b4c907bf769a1ff20e12adc515ebceb8ddceba0c8e8a SHA512 a31dea373b5d491a71af5c907b4b406323e75a909c2d87bee2d996adaa454cb390be13b5b8c05a4117a3325d832f4bd6b119e41c1cd7ef04db8d5c4ea531ea2b
-DIST microsoft-edge-beta_119.0.2151.32-1_amd64.deb 165158246 BLAKE2B fd492414b4dccca16c07889b4466d35d92084ed25fe49f8fe8e500a451ae92f0d0836bbcd6653ba19bc080272a5efe51a55103a9e06969f3ff4ceb9cc12520d2 SHA512 9258e3c2e3d6eebea39890324f6219038c73463dd2b13f24c8d0cef6a5200b5b8522851ebe533ebd6e101bc4da2c9c32946383167a019dfbff3d6904a7dca45c
 DIST microsoft-edge-beta_119.0.2151.38-1_amd64.deb 165162650 BLAKE2B 07c92058c9db9206e8fb7f45185158f3e8227f330006eaaceea3ca1525d97ed9a5652ca8f95bef90d13da747eeefca9a255f724091cbe090a35eac81bef8b378 SHA512 d2f69945262c025393421a0f8e1302560a16b27f160c46307482057819a7a8446a06373d55379340443a141fa03786bb8a7a523ceb0cc8495be701c7d617c424
-EBUILD microsoft-edge-beta-119.0.2151.24.ebuild 2719 BLAKE2B d924f63fed55d8e3aa2adef1cdb6d4cedaf16d2bdb932b8768835f162c19683d7dacd98ee408a1271f0933fe3dd8961287510ddd7d0b398c4d5318940c78bf62 SHA512 093fbcf80819206ec88cc191e1da1e212a981e1e4ecb96981418c28eacb7c0f799b49ee631ff487e595adcc7a93c6294a45fa856806c65d9e6bbd5fc1f2ecd55
-EBUILD microsoft-edge-beta-119.0.2151.32.ebuild 2719 BLAKE2B d924f63fed55d8e3aa2adef1cdb6d4cedaf16d2bdb932b8768835f162c19683d7dacd98ee408a1271f0933fe3dd8961287510ddd7d0b398c4d5318940c78bf62 SHA512 093fbcf80819206ec88cc191e1da1e212a981e1e4ecb96981418c28eacb7c0f799b49ee631ff487e595adcc7a93c6294a45fa856806c65d9e6bbd5fc1f2ecd55
+DIST microsoft-edge-beta_119.0.2151.42-1_amd64.deb 165183590 BLAKE2B 2956d65d2b641b1147b96fd449eddc5c87e627d49bccd2d6cba9516d0032ccf4be9bcae3fde9f6136e940dc18e49de8d9c3cef6d26166e36dbfe9e31ae03e961 SHA512 baa677572ae12019b1e8e82970bca9d32e9bcec072bff15191fb6b40244dcd7f83fc94633355e04f566d33414ad4382634b4685b0a36ef6b68b8465dc481b8f6
+DIST microsoft-edge-beta_119.0.2151.44-1_amd64.deb 165197490 BLAKE2B 90158201af3a93afd81ec05d9ca0151708f32176bf24ab00d48513908bca2f4ceca58ae26ff3e261b77d38009f7d8dacb16e6d4d114c5c842aa65b10e604ccd5 SHA512 1672cd8706e68529eef133431c717ee62fc7e54850fc8ca3153e9fc8648b6af668f2259b6deee21003583d62232b5698c3267ef04879e7ba9f006d9dfe20ba5b
 EBUILD microsoft-edge-beta-119.0.2151.38.ebuild 2719 BLAKE2B d924f63fed55d8e3aa2adef1cdb6d4cedaf16d2bdb932b8768835f162c19683d7dacd98ee408a1271f0933fe3dd8961287510ddd7d0b398c4d5318940c78bf62 SHA512 093fbcf80819206ec88cc191e1da1e212a981e1e4ecb96981418c28eacb7c0f799b49ee631ff487e595adcc7a93c6294a45fa856806c65d9e6bbd5fc1f2ecd55
+EBUILD microsoft-edge-beta-119.0.2151.42.ebuild 2719 BLAKE2B d924f63fed55d8e3aa2adef1cdb6d4cedaf16d2bdb932b8768835f162c19683d7dacd98ee408a1271f0933fe3dd8961287510ddd7d0b398c4d5318940c78bf62 SHA512 093fbcf80819206ec88cc191e1da1e212a981e1e4ecb96981418c28eacb7c0f799b49ee631ff487e595adcc7a93c6294a45fa856806c65d9e6bbd5fc1f2ecd55
+EBUILD microsoft-edge-beta-119.0.2151.44.ebuild 2719 BLAKE2B d924f63fed55d8e3aa2adef1cdb6d4cedaf16d2bdb932b8768835f162c19683d7dacd98ee408a1271f0933fe3dd8961287510ddd7d0b398c4d5318940c78bf62 SHA512 093fbcf80819206ec88cc191e1da1e212a981e1e4ecb96981418c28eacb7c0f799b49ee631ff487e595adcc7a93c6294a45fa856806c65d9e6bbd5fc1f2ecd55
 MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.24.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.24.ebuild
deleted file mode 100644
index ef74386492f2..000000000000
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.24.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 2011-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-inherit chromium-2 desktop pax-utils unpacker xdg
-
-DESCRIPTION="The web browser from Microsoft"
-HOMEPAGE="https://www.microsoft.com/en-us/edge"
-
-if [[ ${PN} == microsoft-edge ]]; then
-	MY_PN=${PN}-stable
-else
-	MY_PN=${PN}
-fi
-
-KEYWORDS="-* ~amd64"
-
-MY_P="${MY_PN}_${PV}-1"
-
-SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
-
-LICENSE="microsoft-edge"
-SLOT="0"
-RESTRICT="bindist mirror strip"
-IUSE="+mip qt5 qt6"
-
-RDEPEND="
-	>=app-accessibility/at-spi2-core-2.46.0:2
-	app-misc/ca-certificates
-	dev-libs/expat
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	media-fonts/liberation-fonts
-	media-libs/alsa-lib
-	media-libs/mesa[gbm(+)]
-	net-misc/curl[ssl]
-	net-print/cups
-	sys-apps/dbus
-	sys-apps/util-linux
-	sys-libs/glibc
-	x11-libs/cairo
-	x11-libs/gdk-pixbuf:2
-	x11-libs/gtk+:3[X]
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXrandr
-	x11-libs/libxcb
-	x11-libs/libxkbcommon
-	x11-libs/libxshmfence
-	x11-libs/pango
-	x11-misc/xdg-utils
-	mip? ( app-crypt/libsecret )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5[X]
-		dev-qt/qtwidgets:5
-	)
-	qt6? ( dev-qt/qtbase:6[gui,widgets] )
-"
-
-QA_PREBUILT="*"
-QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
-S=${WORKDIR}
-EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
-
-pkg_nofetch() {
-	eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
-}
-
-pkg_pretend() {
-	# Protect against people using autounmask overzealously
-	use amd64 || die "microsoft-edge only works on amd64"
-}
-
-pkg_setup() {
-	chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
-	:
-}
-
-src_install() {
-	dodir /
-	cd "${ED}" || die
-	unpacker
-
-	rm -f _gpgorigin || die
-
-	rm -r etc usr/share/menu || die
-	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
-
-	gzip -d usr/share/doc/${PF}/changelog.gz || die
-	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
-	if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
-		rm usr/share/man/man1/${PN}.1.gz || die
-		dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
-	fi
-
-	local suffix=
-	[[ ${PN} == microsoft-edge-beta ]] && suffix=_beta
-	[[ ${PN} == microsoft-edge-dev ]] && suffix=_dev
-
-	local size
-	for size in 16 24 32 48 64 128 256 ; do
-		newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
-	done
-
-	if ! use mip; then
-		rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die
-	fi
-
-	if ! use qt5; then
-		rm "${EDGE_HOME}/libqt5_shim.so" || die
-	fi
-	if ! use qt6; then
-		rm "${EDGE_HOME}/libqt6_shim.so" || die
-	fi
-
-	pax-mark m "${EDGE_HOME}/msedge"
-}
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.32.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.32.ebuild
deleted file mode 100644
index ef74386492f2..000000000000
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.32.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 2011-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-inherit chromium-2 desktop pax-utils unpacker xdg
-
-DESCRIPTION="The web browser from Microsoft"
-HOMEPAGE="https://www.microsoft.com/en-us/edge"
-
-if [[ ${PN} == microsoft-edge ]]; then
-	MY_PN=${PN}-stable
-else
-	MY_PN=${PN}
-fi
-
-KEYWORDS="-* ~amd64"
-
-MY_P="${MY_PN}_${PV}-1"
-
-SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
-
-LICENSE="microsoft-edge"
-SLOT="0"
-RESTRICT="bindist mirror strip"
-IUSE="+mip qt5 qt6"
-
-RDEPEND="
-	>=app-accessibility/at-spi2-core-2.46.0:2
-	app-misc/ca-certificates
-	dev-libs/expat
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	media-fonts/liberation-fonts
-	media-libs/alsa-lib
-	media-libs/mesa[gbm(+)]
-	net-misc/curl[ssl]
-	net-print/cups
-	sys-apps/dbus
-	sys-apps/util-linux
-	sys-libs/glibc
-	x11-libs/cairo
-	x11-libs/gdk-pixbuf:2
-	x11-libs/gtk+:3[X]
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXrandr
-	x11-libs/libxcb
-	x11-libs/libxkbcommon
-	x11-libs/libxshmfence
-	x11-libs/pango
-	x11-misc/xdg-utils
-	mip? ( app-crypt/libsecret )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5[X]
-		dev-qt/qtwidgets:5
-	)
-	qt6? ( dev-qt/qtbase:6[gui,widgets] )
-"
-
-QA_PREBUILT="*"
-QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
-S=${WORKDIR}
-EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
-
-pkg_nofetch() {
-	eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
-}
-
-pkg_pretend() {
-	# Protect against people using autounmask overzealously
-	use amd64 || die "microsoft-edge only works on amd64"
-}
-
-pkg_setup() {
-	chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
-	:
-}
-
-src_install() {
-	dodir /
-	cd "${ED}" || die
-	unpacker
-
-	rm -f _gpgorigin || die
-
-	rm -r etc usr/share/menu || die
-	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
-
-	gzip -d usr/share/doc/${PF}/changelog.gz || die
-	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
-	if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
-		rm usr/share/man/man1/${PN}.1.gz || die
-		dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
-	fi
-
-	local suffix=
-	[[ ${PN} == microsoft-edge-beta ]] && suffix=_beta
-	[[ ${PN} == microsoft-edge-dev ]] && suffix=_dev
-
-	local size
-	for size in 16 24 32 48 64 128 256 ; do
-		newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
-	done
-
-	if ! use mip; then
-		rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die
-	fi
-
-	if ! use qt5; then
-		rm "${EDGE_HOME}/libqt5_shim.so" || die
-	fi
-	if ! use qt6; then
-		rm "${EDGE_HOME}/libqt6_shim.so" || die
-	fi
-
-	pax-mark m "${EDGE_HOME}/msedge"
-}
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.42.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.42.ebuild
new file mode 100644
index 000000000000..ef74386492f2
--- /dev/null
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.42.ebuild
@@ -0,0 +1,127 @@
+# Copyright 2011-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit chromium-2 desktop pax-utils unpacker xdg
+
+DESCRIPTION="The web browser from Microsoft"
+HOMEPAGE="https://www.microsoft.com/en-us/edge"
+
+if [[ ${PN} == microsoft-edge ]]; then
+	MY_PN=${PN}-stable
+else
+	MY_PN=${PN}
+fi
+
+KEYWORDS="-* ~amd64"
+
+MY_P="${MY_PN}_${PV}-1"
+
+SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
+
+LICENSE="microsoft-edge"
+SLOT="0"
+RESTRICT="bindist mirror strip"
+IUSE="+mip qt5 qt6"
+
+RDEPEND="
+	>=app-accessibility/at-spi2-core-2.46.0:2
+	app-misc/ca-certificates
+	dev-libs/expat
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	media-fonts/liberation-fonts
+	media-libs/alsa-lib
+	media-libs/mesa[gbm(+)]
+	net-misc/curl[ssl]
+	net-print/cups
+	sys-apps/dbus
+	sys-apps/util-linux
+	sys-libs/glibc
+	x11-libs/cairo
+	x11-libs/gdk-pixbuf:2
+	x11-libs/gtk+:3[X]
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXrandr
+	x11-libs/libxcb
+	x11-libs/libxkbcommon
+	x11-libs/libxshmfence
+	x11-libs/pango
+	x11-misc/xdg-utils
+	mip? ( app-crypt/libsecret )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5[X]
+		dev-qt/qtwidgets:5
+	)
+	qt6? ( dev-qt/qtbase:6[gui,widgets] )
+"
+
+QA_PREBUILT="*"
+QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
+S=${WORKDIR}
+EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
+
+pkg_nofetch() {
+	eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
+}
+
+pkg_pretend() {
+	# Protect against people using autounmask overzealously
+	use amd64 || die "microsoft-edge only works on amd64"
+}
+
+pkg_setup() {
+	chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+	:
+}
+
+src_install() {
+	dodir /
+	cd "${ED}" || die
+	unpacker
+
+	rm -f _gpgorigin || die
+
+	rm -r etc usr/share/menu || die
+	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+
+	gzip -d usr/share/doc/${PF}/changelog.gz || die
+	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
+	if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
+		rm usr/share/man/man1/${PN}.1.gz || die
+		dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
+	fi
+
+	local suffix=
+	[[ ${PN} == microsoft-edge-beta ]] && suffix=_beta
+	[[ ${PN} == microsoft-edge-dev ]] && suffix=_dev
+
+	local size
+	for size in 16 24 32 48 64 128 256 ; do
+		newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
+	done
+
+	if ! use mip; then
+		rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die
+	fi
+
+	if ! use qt5; then
+		rm "${EDGE_HOME}/libqt5_shim.so" || die
+	fi
+	if ! use qt6; then
+		rm "${EDGE_HOME}/libqt6_shim.so" || die
+	fi
+
+	pax-mark m "${EDGE_HOME}/msedge"
+}
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.44.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.44.ebuild
new file mode 100644
index 000000000000..ef74386492f2
--- /dev/null
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-119.0.2151.44.ebuild
@@ -0,0 +1,127 @@
+# Copyright 2011-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit chromium-2 desktop pax-utils unpacker xdg
+
+DESCRIPTION="The web browser from Microsoft"
+HOMEPAGE="https://www.microsoft.com/en-us/edge"
+
+if [[ ${PN} == microsoft-edge ]]; then
+	MY_PN=${PN}-stable
+else
+	MY_PN=${PN}
+fi
+
+KEYWORDS="-* ~amd64"
+
+MY_P="${MY_PN}_${PV}-1"
+
+SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
+
+LICENSE="microsoft-edge"
+SLOT="0"
+RESTRICT="bindist mirror strip"
+IUSE="+mip qt5 qt6"
+
+RDEPEND="
+	>=app-accessibility/at-spi2-core-2.46.0:2
+	app-misc/ca-certificates
+	dev-libs/expat
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	media-fonts/liberation-fonts
+	media-libs/alsa-lib
+	media-libs/mesa[gbm(+)]
+	net-misc/curl[ssl]
+	net-print/cups
+	sys-apps/dbus
+	sys-apps/util-linux
+	sys-libs/glibc
+	x11-libs/cairo
+	x11-libs/gdk-pixbuf:2
+	x11-libs/gtk+:3[X]
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXrandr
+	x11-libs/libxcb
+	x11-libs/libxkbcommon
+	x11-libs/libxshmfence
+	x11-libs/pango
+	x11-misc/xdg-utils
+	mip? ( app-crypt/libsecret )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5[X]
+		dev-qt/qtwidgets:5
+	)
+	qt6? ( dev-qt/qtbase:6[gui,widgets] )
+"
+
+QA_PREBUILT="*"
+QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
+S=${WORKDIR}
+EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
+
+pkg_nofetch() {
+	eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
+}
+
+pkg_pretend() {
+	# Protect against people using autounmask overzealously
+	use amd64 || die "microsoft-edge only works on amd64"
+}
+
+pkg_setup() {
+	chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+	:
+}
+
+src_install() {
+	dodir /
+	cd "${ED}" || die
+	unpacker
+
+	rm -f _gpgorigin || die
+
+	rm -r etc usr/share/menu || die
+	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+
+	gzip -d usr/share/doc/${PF}/changelog.gz || die
+	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
+	if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
+		rm usr/share/man/man1/${PN}.1.gz || die
+		dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
+	fi
+
+	local suffix=
+	[[ ${PN} == microsoft-edge-beta ]] && suffix=_beta
+	[[ ${PN} == microsoft-edge-dev ]] && suffix=_dev
+
+	local size
+	for size in 16 24 32 48 64 128 256 ; do
+		newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
+	done
+
+	if ! use mip; then
+		rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die
+	fi
+
+	if ! use qt5; then
+		rm "${EDGE_HOME}/libqt5_shim.so" || die
+	fi
+	if ! use qt6; then
+		rm "${EDGE_HOME}/libqt6_shim.so" || die
+	fi
+
+	pax-mark m "${EDGE_HOME}/msedge"
+}
diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest
index 5d56b7ad7f7a..7b9550621ef3 100644
--- a/www-client/microsoft-edge-dev/Manifest
+++ b/www-client/microsoft-edge-dev/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-dev_119.0.2151.2-1_amd64.deb 158898010 BLAKE2B 1187a463aad28a2dda61a48128da3868f0953c156774d19cb78e5c54beba1cf3495183b162e2ad1058a466d01c4b310255cb8de1bb50340685d5e076936dd6ae SHA512 94599b65ad331b2ff14adb59e75554a6fb24afac9789a0496d9e371c1463e5c1fbee3b777f10346e9f57092d5acdf4367f8a1faaf66b80e4d9a44bc606b5c285
 DIST microsoft-edge-dev_120.0.2165.1-1_amd64.deb 165634914 BLAKE2B 83cf0056efd2271a377cea2df938a5141e6641b64f91d440634459891e2fc55729265fcd9d830f55d6beeb3507c5d9335b4442a467886c50c1893083b1daa695 SHA512 19b795e28bb85f680cef2a1f408d163f51f5e31390c599120d900bd10a22971037a87dd666a95362c24e70d3e2f3698b0568127fee78fb6d451b59483c608d0f
 DIST microsoft-edge-dev_120.0.2172.1-1_amd64.deb 165819694 BLAKE2B 329fe0a91f7ba032fa335142288a1ee7a444d7cf8e0ee3cbda5a2263ca006480e48fc9d880df62e4ad7ff4c9a02dc8900f4e389a9835d541f154fe774408262f SHA512 a58317a76fba75f8c290339b8e740571accfe069051b75b007fb606e441f090f2d0d95d7c589be383996900b036642eaca1a35502d76fb3aaf509a18cc2a4467
-EBUILD microsoft-edge-dev-119.0.2151.2.ebuild 2719 BLAKE2B d924f63fed55d8e3aa2adef1cdb6d4cedaf16d2bdb932b8768835f162c19683d7dacd98ee408a1271f0933fe3dd8961287510ddd7d0b398c4d5318940c78bf62 SHA512 093fbcf80819206ec88cc191e1da1e212a981e1e4ecb96981418c28eacb7c0f799b49ee631ff487e595adcc7a93c6294a45fa856806c65d9e6bbd5fc1f2ecd55
+DIST microsoft-edge-dev_120.0.2186.2-1_amd64.deb 165702558 BLAKE2B 544fb090e443f4dd371b8e9fc46afd77aff4eb5c7ba0b2eacc9c49e378df53456bbbe3d2d70859394ed9d7c89cefa6b68bd480996a31e07416676232d3b3c67e SHA512 2b66886616e3e0e1e594d50c8e2874e8bd92c93f678b9af7c37f00db38da652b0f4f95c3d2dcdc5eb863793ecb6369cad697d55bf9ad6ef9aafe18f0e0780bee
 EBUILD microsoft-edge-dev-120.0.2165.1.ebuild 2719 BLAKE2B d924f63fed55d8e3aa2adef1cdb6d4cedaf16d2bdb932b8768835f162c19683d7dacd98ee408a1271f0933fe3dd8961287510ddd7d0b398c4d5318940c78bf62 SHA512 093fbcf80819206ec88cc191e1da1e212a981e1e4ecb96981418c28eacb7c0f799b49ee631ff487e595adcc7a93c6294a45fa856806c65d9e6bbd5fc1f2ecd55
 EBUILD microsoft-edge-dev-120.0.2172.1.ebuild 2719 BLAKE2B d924f63fed55d8e3aa2adef1cdb6d4cedaf16d2bdb932b8768835f162c19683d7dacd98ee408a1271f0933fe3dd8961287510ddd7d0b398c4d5318940c78bf62 SHA512 093fbcf80819206ec88cc191e1da1e212a981e1e4ecb96981418c28eacb7c0f799b49ee631ff487e595adcc7a93c6294a45fa856806c65d9e6bbd5fc1f2ecd55
+EBUILD microsoft-edge-dev-120.0.2186.2.ebuild 2719 BLAKE2B d924f63fed55d8e3aa2adef1cdb6d4cedaf16d2bdb932b8768835f162c19683d7dacd98ee408a1271f0933fe3dd8961287510ddd7d0b398c4d5318940c78bf62 SHA512 093fbcf80819206ec88cc191e1da1e212a981e1e4ecb96981418c28eacb7c0f799b49ee631ff487e595adcc7a93c6294a45fa856806c65d9e6bbd5fc1f2ecd55
 MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-119.0.2151.2.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-119.0.2151.2.ebuild
deleted file mode 100644
index ef74386492f2..000000000000
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-119.0.2151.2.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 2011-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-inherit chromium-2 desktop pax-utils unpacker xdg
-
-DESCRIPTION="The web browser from Microsoft"
-HOMEPAGE="https://www.microsoft.com/en-us/edge"
-
-if [[ ${PN} == microsoft-edge ]]; then
-	MY_PN=${PN}-stable
-else
-	MY_PN=${PN}
-fi
-
-KEYWORDS="-* ~amd64"
-
-MY_P="${MY_PN}_${PV}-1"
-
-SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
-
-LICENSE="microsoft-edge"
-SLOT="0"
-RESTRICT="bindist mirror strip"
-IUSE="+mip qt5 qt6"
-
-RDEPEND="
-	>=app-accessibility/at-spi2-core-2.46.0:2
-	app-misc/ca-certificates
-	dev-libs/expat
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	media-fonts/liberation-fonts
-	media-libs/alsa-lib
-	media-libs/mesa[gbm(+)]
-	net-misc/curl[ssl]
-	net-print/cups
-	sys-apps/dbus
-	sys-apps/util-linux
-	sys-libs/glibc
-	x11-libs/cairo
-	x11-libs/gdk-pixbuf:2
-	x11-libs/gtk+:3[X]
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXrandr
-	x11-libs/libxcb
-	x11-libs/libxkbcommon
-	x11-libs/libxshmfence
-	x11-libs/pango
-	x11-misc/xdg-utils
-	mip? ( app-crypt/libsecret )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5[X]
-		dev-qt/qtwidgets:5
-	)
-	qt6? ( dev-qt/qtbase:6[gui,widgets] )
-"
-
-QA_PREBUILT="*"
-QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
-S=${WORKDIR}
-EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
-
-pkg_nofetch() {
-	eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
-}
-
-pkg_pretend() {
-	# Protect against people using autounmask overzealously
-	use amd64 || die "microsoft-edge only works on amd64"
-}
-
-pkg_setup() {
-	chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
-	:
-}
-
-src_install() {
-	dodir /
-	cd "${ED}" || die
-	unpacker
-
-	rm -f _gpgorigin || die
-
-	rm -r etc usr/share/menu || die
-	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
-
-	gzip -d usr/share/doc/${PF}/changelog.gz || die
-	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
-	if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
-		rm usr/share/man/man1/${PN}.1.gz || die
-		dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
-	fi
-
-	local suffix=
-	[[ ${PN} == microsoft-edge-beta ]] && suffix=_beta
-	[[ ${PN} == microsoft-edge-dev ]] && suffix=_dev
-
-	local size
-	for size in 16 24 32 48 64 128 256 ; do
-		newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
-	done
-
-	if ! use mip; then
-		rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die
-	fi
-
-	if ! use qt5; then
-		rm "${EDGE_HOME}/libqt5_shim.so" || die
-	fi
-	if ! use qt6; then
-		rm "${EDGE_HOME}/libqt6_shim.so" || die
-	fi
-
-	pax-mark m "${EDGE_HOME}/msedge"
-}
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-120.0.2186.2.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-120.0.2186.2.ebuild
new file mode 100644
index 000000000000..ef74386492f2
--- /dev/null
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-120.0.2186.2.ebuild
@@ -0,0 +1,127 @@
+# Copyright 2011-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit chromium-2 desktop pax-utils unpacker xdg
+
+DESCRIPTION="The web browser from Microsoft"
+HOMEPAGE="https://www.microsoft.com/en-us/edge"
+
+if [[ ${PN} == microsoft-edge ]]; then
+	MY_PN=${PN}-stable
+else
+	MY_PN=${PN}
+fi
+
+KEYWORDS="-* ~amd64"
+
+MY_P="${MY_PN}_${PV}-1"
+
+SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
+
+LICENSE="microsoft-edge"
+SLOT="0"
+RESTRICT="bindist mirror strip"
+IUSE="+mip qt5 qt6"
+
+RDEPEND="
+	>=app-accessibility/at-spi2-core-2.46.0:2
+	app-misc/ca-certificates
+	dev-libs/expat
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	media-fonts/liberation-fonts
+	media-libs/alsa-lib
+	media-libs/mesa[gbm(+)]
+	net-misc/curl[ssl]
+	net-print/cups
+	sys-apps/dbus
+	sys-apps/util-linux
+	sys-libs/glibc
+	x11-libs/cairo
+	x11-libs/gdk-pixbuf:2
+	x11-libs/gtk+:3[X]
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXrandr
+	x11-libs/libxcb
+	x11-libs/libxkbcommon
+	x11-libs/libxshmfence
+	x11-libs/pango
+	x11-misc/xdg-utils
+	mip? ( app-crypt/libsecret )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5[X]
+		dev-qt/qtwidgets:5
+	)
+	qt6? ( dev-qt/qtbase:6[gui,widgets] )
+"
+
+QA_PREBUILT="*"
+QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
+S=${WORKDIR}
+EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
+
+pkg_nofetch() {
+	eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
+}
+
+pkg_pretend() {
+	# Protect against people using autounmask overzealously
+	use amd64 || die "microsoft-edge only works on amd64"
+}
+
+pkg_setup() {
+	chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+	:
+}
+
+src_install() {
+	dodir /
+	cd "${ED}" || die
+	unpacker
+
+	rm -f _gpgorigin || die
+
+	rm -r etc usr/share/menu || die
+	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+
+	gzip -d usr/share/doc/${PF}/changelog.gz || die
+	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
+	if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
+		rm usr/share/man/man1/${PN}.1.gz || die
+		dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
+	fi
+
+	local suffix=
+	[[ ${PN} == microsoft-edge-beta ]] && suffix=_beta
+	[[ ${PN} == microsoft-edge-dev ]] && suffix=_dev
+
+	local size
+	for size in 16 24 32 48 64 128 256 ; do
+		newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
+	done
+
+	if ! use mip; then
+		rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die
+	fi
+
+	if ! use qt5; then
+		rm "${EDGE_HOME}/libqt5_shim.so" || die
+	fi
+	if ! use qt6; then
+		rm "${EDGE_HOME}/libqt6_shim.so" || die
+	fi
+
+	pax-mark m "${EDGE_HOME}/msedge"
+}
diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest
index 7351daed54ee..5438fc5c0873 100644
--- a/www-client/microsoft-edge/Manifest
+++ b/www-client/microsoft-edge/Manifest
@@ -1,3 +1,3 @@
-DIST microsoft-edge-stable_118.0.2088.76-1_amd64.deb 162623982 BLAKE2B 85195234363e120527d809f684e54605b8a7e0443a0020505eebc7883c538b9f98ab28b5c2b46dec1610503db2c1c60a9b5fc9a1b7433b4a136e2157781cb220 SHA512 b7226c3c46dbff4d863057d9ff7692b592a8c4288ca18947e9d0cfe68b0ce35567db61099f7e4ae3fee49e75c72ca1cd5b31fa45a8d01a633bf3618afd5c02a2
-EBUILD microsoft-edge-118.0.2088.76.ebuild 2718 BLAKE2B c8c4df9c7b1d03fec762ad908580b2efe746e71c2b290a6d2cea535b4456cf6da460a89eb69f4649b38b4cf81854117ce4a09a96da790b71e3d105b0fae681fb SHA512 886d4e29ef8c8cf03f8d48d318678e201f20c2c314d485db0f85bb40361a4d1ff1ac321a9f0567df2583494e95d31ea6bda4b53e92250e221817dfa8bb3511c7
+DIST microsoft-edge-stable_119.0.2151.44-1_amd64.deb 165116766 BLAKE2B 9294cad7a3439a2e328dcfd2e4412858b1869b0e9e86a68754ca4d592824d17b1947188b37fb27f0db1fbf186ddab256b4078e9aab99dba6120c02be411e8b6c SHA512 bc0d5ea89e151173c7e91b7f237eee0b0023a6a5b292b5312b86b722f20fa2dce44f5f5ba540e830fdbf92bff004d2831c476e8ee709ba411931f1411290f70b
+EBUILD microsoft-edge-119.0.2151.44.ebuild 2718 BLAKE2B c8c4df9c7b1d03fec762ad908580b2efe746e71c2b290a6d2cea535b4456cf6da460a89eb69f4649b38b4cf81854117ce4a09a96da790b71e3d105b0fae681fb SHA512 886d4e29ef8c8cf03f8d48d318678e201f20c2c314d485db0f85bb40361a4d1ff1ac321a9f0567df2583494e95d31ea6bda4b53e92250e221817dfa8bb3511c7
 MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge/microsoft-edge-118.0.2088.76.ebuild b/www-client/microsoft-edge/microsoft-edge-118.0.2088.76.ebuild
deleted file mode 100644
index 332a69d1f006..000000000000
--- a/www-client/microsoft-edge/microsoft-edge-118.0.2088.76.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 2011-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-inherit chromium-2 desktop pax-utils unpacker xdg
-
-DESCRIPTION="The web browser from Microsoft"
-HOMEPAGE="https://www.microsoft.com/en-us/edge"
-
-if [[ ${PN} == microsoft-edge ]]; then
-	MY_PN=${PN}-stable
-else
-	MY_PN=${PN}
-fi
-
-KEYWORDS="-* amd64"
-
-MY_P="${MY_PN}_${PV}-1"
-
-SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
-
-LICENSE="microsoft-edge"
-SLOT="0"
-RESTRICT="bindist mirror strip"
-IUSE="+mip qt5 qt6"
-
-RDEPEND="
-	>=app-accessibility/at-spi2-core-2.46.0:2
-	app-misc/ca-certificates
-	dev-libs/expat
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	media-fonts/liberation-fonts
-	media-libs/alsa-lib
-	media-libs/mesa[gbm(+)]
-	net-misc/curl[ssl]
-	net-print/cups
-	sys-apps/dbus
-	sys-apps/util-linux
-	sys-libs/glibc
-	x11-libs/cairo
-	x11-libs/gdk-pixbuf:2
-	x11-libs/gtk+:3[X]
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXrandr
-	x11-libs/libxcb
-	x11-libs/libxkbcommon
-	x11-libs/libxshmfence
-	x11-libs/pango
-	x11-misc/xdg-utils
-	mip? ( app-crypt/libsecret )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5[X]
-		dev-qt/qtwidgets:5
-	)
-	qt6? ( dev-qt/qtbase:6[gui,widgets] )
-"
-
-QA_PREBUILT="*"
-QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
-S=${WORKDIR}
-EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
-
-pkg_nofetch() {
-	eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
-}
-
-pkg_pretend() {
-	# Protect against people using autounmask overzealously
-	use amd64 || die "microsoft-edge only works on amd64"
-}
-
-pkg_setup() {
-	chromium_suid_sandbox_check_kernel_config
-}
-
-src_unpack() {
-	:
-}
-
-src_install() {
-	dodir /
-	cd "${ED}" || die
-	unpacker
-
-	rm -f _gpgorigin || die
-
-	rm -r etc usr/share/menu || die
-	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
-
-	gzip -d usr/share/doc/${PF}/changelog.gz || die
-	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
-	if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
-		rm usr/share/man/man1/${PN}.1.gz || die
-		dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
-	fi
-
-	local suffix=
-	[[ ${PN} == microsoft-edge-beta ]] && suffix=_beta
-	[[ ${PN} == microsoft-edge-dev ]] && suffix=_dev
-
-	local size
-	for size in 16 24 32 48 64 128 256 ; do
-		newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
-	done
-
-	if ! use mip; then
-		rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die
-	fi
-
-	if ! use qt5; then
-		rm "${EDGE_HOME}/libqt5_shim.so" || die
-	fi
-	if ! use qt6; then
-		rm "${EDGE_HOME}/libqt6_shim.so" || die
-	fi
-
-	pax-mark m "${EDGE_HOME}/msedge"
-}
diff --git a/www-client/microsoft-edge/microsoft-edge-119.0.2151.44.ebuild b/www-client/microsoft-edge/microsoft-edge-119.0.2151.44.ebuild
new file mode 100644
index 000000000000..332a69d1f006
--- /dev/null
+++ b/www-client/microsoft-edge/microsoft-edge-119.0.2151.44.ebuild
@@ -0,0 +1,127 @@
+# Copyright 2011-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit chromium-2 desktop pax-utils unpacker xdg
+
+DESCRIPTION="The web browser from Microsoft"
+HOMEPAGE="https://www.microsoft.com/en-us/edge"
+
+if [[ ${PN} == microsoft-edge ]]; then
+	MY_PN=${PN}-stable
+else
+	MY_PN=${PN}
+fi
+
+KEYWORDS="-* amd64"
+
+MY_P="${MY_PN}_${PV}-1"
+
+SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
+
+LICENSE="microsoft-edge"
+SLOT="0"
+RESTRICT="bindist mirror strip"
+IUSE="+mip qt5 qt6"
+
+RDEPEND="
+	>=app-accessibility/at-spi2-core-2.46.0:2
+	app-misc/ca-certificates
+	dev-libs/expat
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	media-fonts/liberation-fonts
+	media-libs/alsa-lib
+	media-libs/mesa[gbm(+)]
+	net-misc/curl[ssl]
+	net-print/cups
+	sys-apps/dbus
+	sys-apps/util-linux
+	sys-libs/glibc
+	x11-libs/cairo
+	x11-libs/gdk-pixbuf:2
+	x11-libs/gtk+:3[X]
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXrandr
+	x11-libs/libxcb
+	x11-libs/libxkbcommon
+	x11-libs/libxshmfence
+	x11-libs/pango
+	x11-misc/xdg-utils
+	mip? ( app-crypt/libsecret )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5[X]
+		dev-qt/qtwidgets:5
+	)
+	qt6? ( dev-qt/qtbase:6[gui,widgets] )
+"
+
+QA_PREBUILT="*"
+QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
+S=${WORKDIR}
+EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
+
+pkg_nofetch() {
+	eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
+}
+
+pkg_pretend() {
+	# Protect against people using autounmask overzealously
+	use amd64 || die "microsoft-edge only works on amd64"
+}
+
+pkg_setup() {
+	chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+	:
+}
+
+src_install() {
+	dodir /
+	cd "${ED}" || die
+	unpacker
+
+	rm -f _gpgorigin || die
+
+	rm -r etc usr/share/menu || die
+	mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+
+	gzip -d usr/share/doc/${PF}/changelog.gz || die
+	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
+	if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
+		rm usr/share/man/man1/${PN}.1.gz || die
+		dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
+	fi
+
+	local suffix=
+	[[ ${PN} == microsoft-edge-beta ]] && suffix=_beta
+	[[ ${PN} == microsoft-edge-dev ]] && suffix=_dev
+
+	local size
+	for size in 16 24 32 48 64 128 256 ; do
+		newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png
+	done
+
+	if ! use mip; then
+		rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die
+	fi
+
+	if ! use qt5; then
+		rm "${EDGE_HOME}/libqt5_shim.so" || die
+	fi
+	if ! use qt6; then
+		rm "${EDGE_HOME}/libqt6_shim.so" || die
+	fi
+
+	pax-mark m "${EDGE_HOME}/msedge"
+}
-- 
cgit v1.2.3